Para obtener publicaciones creadas en las últimas 24 horas, puede obtener la hora actual, restar 24 horas y obtener el valor de la fecha de inicio para usar en su consulta de intervalo de fechas:
var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Si quieres saber más sobre $gte
, consulta el siguiente artículo:
Con momentjs biblioteca esto puede ser simplemente
var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);
También puede definir una fecha predeterminada con una función en lugar del middleware pre hook:
var post = new mongoose.Schema({
text : String,
created_at : {type : Date, default: Date.now, index : true},
pos : {latitude: Number, longitude: Number},
created_by : {type : Schema.Types.ObjectId, ref : "UserSchema"}
});