日期和 MongoDB - 失败
Dates and MongoDB - FAIL
我在 mongodb 中找到了大量关于处理日期的文档。不幸的是 none 它似乎按预期工作。这是我的问题...我正在尝试按日期查询。这是我使用 find():
搜索时文档的样子
{
"_id": ObjectId("5935ff97d1d72d2134d7ad8f"),
"username": "Test",
"email": "test@test",
"password": "sha1dbb9bdc$b0096596e0e3aba3ad883489bc713b0462ad6472",
"access": "test",
"cookies": [{
"hash": "ZOddh981SZ7uiw3XPQYwJzET18byscWo3BV0RzIc8Eo8QY2VdlVm23qs28AAvxPx",
"exipires": ISODate("2017-06-12T01:34:45.895Z")
}, {
"hash": "gk8voLrc2JtX832GExcWlSoVdjkiEoFAvLQAayevtPJGJ7tCchYAP0it93aAMBlb",
"exipires": "ISODate(\"2017-06-11 20:37:10.167\")"
}
]
}
(如您所见,我有 2 个 cookie。一个在日期周围有转义引号,一个没有。)
以下是我迄今为止尝试过的搜索:
db.getCollection("auth").find({ 'cookies.expires': {'$gte': {$date: "2017-06-07T01:37:14.362Z"} } })
db.getCollection("auth").find({ 'cookies.expires': {'$lte': {$date: "2017-06-07T01:37:14.362Z"} } })
db.getCollection("auth").find('cookies.expires': { '$gte': new ISODate("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$lte': new ISODate("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$gte': new ISODate() } })
db.getCollection("auth").find('cookies.expires': { '$gte': new Date("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$lte': new Date("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$gte': new Date("2017-06-07T01:37:14.362Z") } })
我非常肯定搜索应该是 $gte,因为我想查找未来的所有日期。但我已经尝试了两种方法,以防它与我的预期相反。
None 这些工作,我不明白为什么 - 现在已经花了 2 个小时了。我们将不胜感激。
db.getCollection("auth").find({
'cookies.expires': { '$gte': ISODate("2017-06-07T01:37:14.362Z") }
})
我在 mongodb 中找到了大量关于处理日期的文档。不幸的是 none 它似乎按预期工作。这是我的问题...我正在尝试按日期查询。这是我使用 find():
搜索时文档的样子{
"_id": ObjectId("5935ff97d1d72d2134d7ad8f"),
"username": "Test",
"email": "test@test",
"password": "sha1dbb9bdc$b0096596e0e3aba3ad883489bc713b0462ad6472",
"access": "test",
"cookies": [{
"hash": "ZOddh981SZ7uiw3XPQYwJzET18byscWo3BV0RzIc8Eo8QY2VdlVm23qs28AAvxPx",
"exipires": ISODate("2017-06-12T01:34:45.895Z")
}, {
"hash": "gk8voLrc2JtX832GExcWlSoVdjkiEoFAvLQAayevtPJGJ7tCchYAP0it93aAMBlb",
"exipires": "ISODate(\"2017-06-11 20:37:10.167\")"
}
]
}
(如您所见,我有 2 个 cookie。一个在日期周围有转义引号,一个没有。)
以下是我迄今为止尝试过的搜索:
db.getCollection("auth").find({ 'cookies.expires': {'$gte': {$date: "2017-06-07T01:37:14.362Z"} } })
db.getCollection("auth").find({ 'cookies.expires': {'$lte': {$date: "2017-06-07T01:37:14.362Z"} } })
db.getCollection("auth").find('cookies.expires': { '$gte': new ISODate("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$lte': new ISODate("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$gte': new ISODate() } })
db.getCollection("auth").find('cookies.expires': { '$gte': new Date("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$lte': new Date("2017-06-07T01:37:14.362Z") } })
db.getCollection("auth").find('cookies.expires': { '$gte': new Date("2017-06-07T01:37:14.362Z") } })
我非常肯定搜索应该是 $gte,因为我想查找未来的所有日期。但我已经尝试了两种方法,以防它与我的预期相反。
None 这些工作,我不明白为什么 - 现在已经花了 2 个小时了。我们将不胜感激。
db.getCollection("auth").find({
'cookies.expires': { '$gte': ISODate("2017-06-07T01:37:14.362Z") }
})