NodeJS MongoDB Найти сообщения старше текущей даты - PullRequest
0 голосов
/ 26 февраля 2019

Итак, у меня есть эта строка кода:

let advertisements = await Advertisement.find({created_at: {$lt: moment().valueOf()}});

Вот что он делает:

created_at: возвращает отметку времени, когда сообщение было создано по адресу: 1551198203488.0

moment.valueOf() верните мне текущую временную метку, например: 1551198203488.0

Теперь мне нужно написать эту строку кода, чтобы он находил только ads, возраст которых составляет 1 час.Возможно ли это как-то?

Также я храню и group2_date которые хранят текущую метку времени, НО с добавленным к ней 1 часом, вот так: moment().add(1, 'h')

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете вычесть один час из moment, используя функцию .subtract, а затем использовать оператор $gte, чтобы получить только большие значения / документы из вычитаемых часов и меньше, чем из текущего времени.

let advertisements = await Advertisement.find({
  "created_at": {
    "$lte": moment().toDate(),
    "$gte": moment().subtract(1, 'hours').toDate()
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...