Om berichten te krijgen die in de afgelopen 24 uur zijn gemaakt, kun je de huidige tijd krijgen, 24 uur aftrekken en de waarde van de startdatum krijgen om te gebruiken in je datumbereikquery:
var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
Post.find({ "created_at": { "$gte": start } }).exec(callback);
Als je meer wilt weten over $gte
, bekijk het volgende artikel:
Met de momentjs bibliotheek kan dit eenvoudig
var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);
U kunt ook een datum definiëren standaard met een functie in plaats van de pre hook middleware:
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"}
});