我有以下文件:
{
"_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
吉娜
答案 0 :(得分:0)
startDate
和endDate
是字符串。因此,我们需要在比较之前将要搜索的值转换为字符串。
以下是示例:
db.collection.findOne({"startDate":{$gte: 1566862710322+""}})
答案 1 :(得分:0)
好吧,看来您必须强制将其转换为long,所以我乘以1
{“ startDate”:{$ gt:ISODate(“ 2018-03-30T13:06:05.739-07:00”)* 1}}
吉娜