Как получить все удостоверения личности из Монго без записи за последний час - PullRequest
1 голос
/ 06 апреля 2019

С учетом следующих документов:

[{
    "imei": "352413080100000",
    "datestamp": "2019-03-25T19:17:11.471Z"
}]

Как получить уникальный список всех imei, где нет записи за прошедший час?

1 Ответ

1 голос
/ 06 апреля 2019

Вы можете использовать агрегацию $group, чтобы найти уникальную запись для поля imei, и использовать библиотеку moment, чтобы вырезать последний час из текущего времени.

db.collection.aggregate([
  { "$match": {
    "datestamp": {
      "$lte": moment().subtract(1, 'hours').toDate()
    }
  }},
  { "$group": {
    "_id": '$imei'
  }}
])

Или даже вы можете использовать отдельный запрос

const imeis = await db.collection.distinct('imei', { "datestamp": { "$lte": moment().subtract(1, 'hours').toDate() } })
console.log(imeis)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...