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

Domanda sulla data per i post creati nelle ultime 24 ore

Per ottenere i post creati nelle ultime 24 ore, puoi ottenere l'ora corrente, sottrarre 24 ore e ottenere il valore della data di inizio da utilizzare nella query dell'intervallo di date:

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

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

Se vuoi saperne di più su $gte , controlla il seguente articolo:

Con momentjs libreria questo può essere semplicemente

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

Puoi anche definire una data predefinita con una funzione al posto del 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"}
});