Запрос диапазона дат за последние 24 часа в оболочке Mongo

15

Я устанавливаю задание cron для сбора результатов из профилировщика базы данных MongoDB. Я хотел бы собрать результаты в течение 24 часов. Я планирую запустить команду Монго с JavaScript .

Вопрос в оболочке Mongo , как мне написать запрос, чтобы найти диапазон дат от 24 часов назад? Такие как:

db.system.profile.find({
    "timestamp" : {
        $lte : <current date & time>,
        $gt : <date & time 24 hrs ago>
    }
})
Говард Ли
источник

Ответы:

4
db.system.profile.find({ 
 "timestamp" : 
    {     
        $gte:   new Date(new Date().setHours(00,00,00)) ,     
        $lt :  new Date(new Date().setHours(23,59,59)) 
   } 
})
Thxer
источник
4
Пожалуйста, объясните, что делает ваш код и чем он отличается от кода, приведенного в принятом ответе.
Дезсо
1
db.collection.find(
        {$and: 
                [
                { "status.code":"DELIVERY_PENDING"},
                {"status.createdDtm": {$lte: new Date().getTime()-(1*60*60*1000) }}
                ]

        }
        )
Рохит Чаурасия
источник
Вы должны добавить подробности о том, как это работает и почему это решает проблему.
Макс Вернон,
1
Что с "DELIVERY_PENDING" ?!
Дан Даскалеску