MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Abfrage nach Datum für Beiträge, die in den letzten 24 Stunden erstellt wurden

Um Posts zu erhalten, die in den letzten 24 Stunden erstellt wurden, könnten Sie die aktuelle Uhrzeit abrufen, 24 Stunden subtrahieren und den Wert des Startdatums abrufen, der in Ihrer Datumsbereichsabfrage verwendet werden soll:

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

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

Wenn Sie mehr über $gte erfahren möchten , lesen Sie den folgenden Artikel:

Mit dem momentjs Bibliothek kann dies einfach sein

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

Sie können auch ein Datum Standard definieren mit einer Funktion anstelle der 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"}
});