Mongodb 如何从Mongo获取过去一小时内没有记录的所有ID

Mongodb 如何从Mongo获取过去一小时内没有记录的所有ID,mongodb,aggregation-framework,Mongodb,Aggregation Framework,考虑到下列文件: [{ "imei": "352413080100000", "datestamp": "2019-03-25T19:17:11.471Z" }] 如何获取过去一个小时内没有记录的所有imei的唯一列表?您可以使用聚合来查找imei字段的唯一记录,并使用moment库从当前时间中剪切最后一个小时 db.collection.aggregate([ { "$match": { "datestamp": { "$lte": moment().

考虑到下列文件:

[{
    "imei": "352413080100000",
    "datestamp": "2019-03-25T19:17:11.471Z"
}]
如何获取过去一个小时内没有记录的所有imei的唯一列表?

您可以使用聚合来查找
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)