Как написать запрос в MongoDB для получения данных за последние 7 дней по мере поступления - PullRequest
1 голос
/ 30 января 2020

Я пытаюсь создать запрос MongoDB для получения данных за последние 7 дней по мере поступления. Можете ли вы помочь мне, как написать запрос для извлечения данных в динамические c даты.

Ответы [ 3 ]

0 голосов
/ 30 января 2020
db.getCollection('collectioName').find({"dateField":{  $lt: new Date(), 
    $gte: new Date(new Date().setDate(new Date().getDate()-7))}})

Поменяйте с именами collectioName и dateField то, что у вас есть, и это должно работать для вас!

0 голосов
/ 30 января 2020

Для любой операции Date в MongoDB я рекомендую моменты. js библиотека:

db.collectioName.find({ "dateField": { $gte: moment().subtract(7, 'days').toDate() } })

Если вы хотите получить данные старше, чем «последняя полночь минус 7 дней» «тогда вы будете использовать

db.collectioName.find(
   { "dateField": { $gte: moment().startOf('day').subtract(7, 'days').toDate() } }
) 
0 голосов
/ 30 января 2020

Чтобы получить данные за последние 7 дней:

let lastWeek = new Date();
lastWeek.setDate(lastWeek.getDate() -7);
db.yourtable.find({ "yourelement": { $gte: lastWeek}} );

Это то, что вы хотите сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...