2017-04-18 5 views
0

Ich habe eine Sammlung und ich möchte es alle 5 Minuten basierend auf Timestamp-Feld exportieren.Mongodb Abfrage mit langen Millisekunden

wenn ich abfragen, um die Sammlung unter dem max Datum ist:

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()); 

jetzt, wenn ich abfragen, um die Sammlung dort keine Zeilen sein sollte, die größer sind als 1492213227000

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

aber immer noch, Ich sehe den gleichen Wert.

2017-04-14 23:40:27.690Z 

Bitte helfen Sie mir, dieses Problem zu lösen.

Danke, Ashwin

Antwort

0

Sie fehlt das .690 Teil Ihres Zeitstempel. Die entsprechenden Millisekunden wären 1492213227690, so dass es erhalten bleibt.

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

Ja, aber ich möchte wissen, warum es fehlt, wenn ich es mit Anweisung konvertieren. Drucken (neues Datum (max1) .getTime()); – ashwin

+0

@ashwin 'max1' ist kein Zeitstempel in Ihrem Beispielcode, es ist ein Cursor. – JohnnyHK

+0

Kann ich es irgendwie in Zeitstempel umwandeln? – ashwin