在纪元字段中过滤MongoDB Compass中的文档

时间:2019-08-27 19:59:22

标签: mongodb mongodb-query

我有以下文件:

{
  "_id": "5d646d78a6e3fe3834e448e4",
  "uniqSessionId": "2ce971c7-337b-0285-b569-a555659a1fc7",
  "userDeviceInformation": {
    "os": "Windows",
    "osVersion": "10",
    "browser": "Chrome",
    "browserVersion": "76.0.3809.100",
    "browserMajorVersion": 76,
    "screen": "3840 x 1200",
    "mobile": false
  },
  "mark": "show-main-image",
  "startDate": "1566862710321",
  "endDate": "1566862711787",
  "duration": 1466.4250000023
}

startDate和endDate是纪元时间戳。

如何查询? (我发现部分问题是混淆了日期格式)

我尝试过:

{"startDate":{$gt:Date(1503781020)}}

我正在使用MongoDB Compass社区进行测试。

我刚刚从MongoDB 3.6升级到4.2

吉娜

2 个答案:

答案 0 :(得分:0)

startDateendDate是字符串。因此,我们需要在比较之前将要搜索的值转换为字符串。

以下是示例:

db.collection.findOne({"startDate":{$gte: 1566862710322+""}})

答案 1 :(得分:0)

好吧,看来您必须强制将其转换为long,所以我乘以1

{“ startDate”:{$ gt:ISODate(“ 2018-03-30T13:06:05.739-07:00”)* 1}}

吉娜