install any cron package for example https://www.npmjs.com/package/node-schedule and in your mongoose model make sure you're storing the created_at timestamp if not just timestamps:true. running cron everyday
const UserSchema = new Schema({..}, { timestamps: true });
now copy the snippet in your app.js
var schedule = require('node-schedule');
var j = schedule.scheduleJob('0 1 * * *', function(){
return deleteOldUsers();
});
assuming your model name is User and it's directory is ./models/User
const User = require('./models/User');
deleteOldUsers = () => {
let current = new Date();
// subtracting 60 days
current.setDate(current.getDate() - 60);
User.deleteMany({ created_at: {$lte: current} }, (err) => {
if(err) return console.log("Error while erasing users " + err);
console.log("successfully erased data")
})
}
EDIT - IF YOU WANT TO USE MOMENT JS INSTEAD OF DATE
const User = require('./models/User');
const moment = require('moment');
deleteOldUsers = () => {
// subtracting 60 days
let current = moment().subtract(60, 'days');
current = moment.utc(current).format();
User.deleteMany({ created_at: {$lte: current} }, (err) => {
if(err) return console.log("Error while erasing users " + err);
console.log("successfully erased data")
})
}