2017-02-20 53 views
0

我是mongodb的新手。我正在編寫一個查詢以隨時間在兩個日期之間獲取文檔。如果日期範圍在過去幾天內下降,那麼結果正確(like 2017-01-01T00:00:00.000Z to 2017-02-01T23:59:59.999Z)。如果日期範圍在今天內,那麼它會錯誤地給出記錄(like 2017-02-20T00:00:00.000Z to 2017-02-20T16:59:59.999Z)。下面是查詢Mongodb日期與時間無法正常工作

db.collection.count({"date1":{$gte:ISODate("2017-01-01T00:00:00.000Z")},"date1":{$lte:ISODate("2017-02-01T23:59:59.999Z")}});

它給數爲。現在對於今天:

db.collection.count({"date1":{$gte:ISODate("2017-02-20T00:00:00.000Z")},"date1":{$lte:ISODate("2017-02-20T16:59:59.999Z")}});

它給我算。如果在此(2017-02-20T16:59:59.999Z)時間之後添加新記錄,則給予我的相同查詢會計爲。另外,我嘗試使用$and運算符,但結果相同。

請幫助我。

在此先感謝。

+0

您可以顯示新添加的文檔嗎? – notionquest

+0

UTC時間今天是2017-02-20T16:59:59.999Z。我認爲你在本地時間和UTC時間之間混在一起。你在什麼時區? – Veeram

回答

1

請嘗試下面的代碼。

db.collection.count({"date1":{$gte:ISODate("2017-02-20T00:00:00.000Z") ,$lte:ISODate("2017-02-20T16:59:59.999Z")}}); 
+0

謝謝sandeep .. – anil