Pour obtenir les publications créées au cours des dernières 24 heures, vous pouvez obtenir l'heure actuelle, soustraire 24 heures et obtenir la valeur de la date de début à utiliser dans votre requête de plage de dates :
var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Si vous voulez en savoir plus sur $gte
, consultez l'article suivant :
Avec le momentjs bibliothèque cela peut être simplement
var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Vous pouvez également définir une date par défaut avec une fonction à la place du middleware pré-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"}
});