MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Consulta na data para postagens criadas nas últimas 24h


Para obter postagens criadas nas últimas 24 horas, você pode obter a hora atual, subtrair 24 horas e obter o valor da data de início para usar em sua consulta de intervalo de datas:
var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));

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

Se você quiser saber mais sobre $gte , verifique o seguinte artigo:

Com o momentjs biblioteca isso pode ser simplesmente
var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);

Você também pode definir uma data padrão com uma função em vez do 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"}
});