2017-04-18 83 views
0

我有一個集合,我想根據時間戳字段每5分鐘導出一次。使用長毫秒的Mongodb查詢

當我查詢下面的集合是最大日期:

db.testcol.find({},{_id : 0,ts : 1}).sort({ts:-1})  
2017-04-14 23:40:27.690Z 

I converted it to milliseconds: 1492213227000 

    ex:  max1=db.testcol.find({},{_id : 0,ts : 1}).sort({ts:-1}) 
       print (new Date(max1).getTime()); 

現在如果我查詢集合不應該有哪些大於1492213227000

ex: db.testcol.find({ts:{$gt:new Date(1492213227000)}},{_id : 0,ts : 1}) 

但還是任何行,我看到相同的價值。

2017-04-14 23:40:27.690Z 

請幫我解決這個問題。

感謝, 阿什溫

回答

0

你缺少你時間戳的.690一部分。等效的毫秒數將是1492213227690,以便它被保留。

db.testcol.find({ts:{$gt:new Date(1492213227690)}},{_id : 0,ts : 1}) 
+0

是的,但我想知道爲什麼當我使用語句將其轉換時缺少它。 print(new Date(max1).getTime()); – ashwin

+0

@ashwin'max1'不是您示例代碼中的時間戳,它是一個遊標。 – JohnnyHK

+0

有什麼辦法可以將它轉換爲時間戳嗎? – ashwin