Para obter postagens criadas nas últimas 24 horas, você pode obter a hora atual, subtrair 24 horas e obter o valor da data de início para usar em sua consulta de intervalo de datas:
var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Se você quiser saber mais sobre
$gte
, verifique o seguinte artigo:Com o momentjs biblioteca isso pode ser simplesmente
var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Você também pode definir uma data padrão com uma função em vez do 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"}
});