sql >> Database teknologi >  >> NoSQL >> MongoDB

Forespørgsel på dato for indlæg oprettet de sidste 24 timer

For at få oprettet indlæg inden for de sidste 24 timer kan du få det aktuelle tidspunkt, trække 24 timer fra og få værdien af ​​startdatoen til brug i din datointervalforespørgsel:

var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));

Post.find({ "created_at": { "$gte": start } }).exec(callback);

Hvis du vil vide mere om $gte , tjek følgende artikel:

Med momentjs bibliotek dette kan være enkelt

var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);

Du kan også definere en dato standard med en funktion i stedet for 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"}
});


  1. Flere $inc-opdateringer i MongoDB

  2. MongoDB $gt/$lt-operatører med priser gemt som strenge

  3. Råd om migrering fra MongoMapper til Mongoid?

  4. Enhver måde at gemme datotype som lokal tid i MongoDB?