如果日期相同,使用$gt
查詢未按預期工作。這更像是$gte
。MongoDB查詢日期
但是,如果我添加1秒查詢參數然後它的作品。
這是示例查詢;
我有一個文件,它是creation_date
1367414837
時間戳。
db.collection.find({creation_date : {'$gt' : new Date(1367414837000)}});
這個查詢與文檔匹配該日期的1367414837
如果我增加了查詢時間戳只是一個像1367414838
。它工作的預期。
使用蒙戈控制檯,但我有MongoDate
編輯在PHP同樣的問題林:查詢的輸出
db.collection.findOne({creation_date : {'$gt' : new Date(1367414837000)}});
{
"_id" : ObjectId("5181183543c51695ce000000"),
"action" : {
"type" : "comment",
"comment" : {
"id" : 74,
"post_id" : "174",
"owner_id" : "5",
"text" : "ne diyeyim lae :D",
"creation_date" : "2013-05-01 16:27:17"
}
},
"creation_date" : ISODate("2013-05-01T13:27:17.336Z"),
"owner" : {
"id" : "5",
"username" : "tylerdurden"
}
}
EDIT2:問題是蒙戈的PHP擴展。它被記錄爲「文檔發送到數據庫/從數據庫發送時超過毫秒的任何精度都將丟失」。 http://php.net/manual/en/class.mongodate.php
我增加了查詢參數一秒鐘作爲週轉解決方案。
您能顯示該查找的輸出嗎? creation_date的類型是什麼?上述查找的輸出是什麼(更改查找findOne以便只返回一個文檔)。 – 2013-05-01 19:16:58
@AsyaKamsky我編輯輸出的問題。 – 2013-05-01 19:34:26
所以它看起來像日期不一樣 - 他們在毫秒組件差異... – 2013-05-01 19:58:11