【问题标题】:MongoDB Compass : filter and query by dateMongoDB Compass:按日期过滤和查询
【发布时间】:2021-05-12 11:59:48
【问题描述】:

假设我有一个包含多个文档的 Travel 集合,

{
    "_id": {
        "$oid": "27637b4h6u7y897ba9021bn2"
    },
    "startTime": {
        "$date": "2021-05-04T13:55:38.286Z"
    }
    "stopTime": {
         "$date": "2021-05-04T11:55:38.286Z"
    }
}

{
    "_id": {
        "$oid": "2532b4h6u7y897ba9021bn2"
    },
    "startTime": {
        "$date": "2021-05-04T12:55:38.286Z"
    }
    "stopTime": {
         "$date": "2021-05-04T11:55:38.286Z"
    }
}

我应该写什么查询,如果可能的话在 mongoCompass 中,来检索:

  • 行程超过 1 小时的次数?

【问题讨论】:

标签: mongodb mongodb-query mongodb-compass


【解决方案1】:

您可以使用以下聚合代码:

[{$addFields: {
  travelTime: {$abs:{$subtract:[{ $toLong:'$stopTime'},{ $toLong:'$startTime'}]}}
}}, {$match: {
  travelTime:{$gt:3600000}
}}, {}]

这里我们以毫秒为单位获取绝对时间差,并检查它是否大于一小时 (3600000)

【讨论】:

    猜你喜欢
    • 2019-11-24
    • 2013-08-16
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多