MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoexport mit $gt- und $lt-Einschränkungen für einen Datumsbereich

Das Problem hier ist, wie Sie die Daten darstellen, sie müssen als Date übergeben werden Typen und im Epochenformat. Versuchen Sie stattdessen Folgendes:

mongoexport --db store --collection user_data --query '{"order.created_order":{$gt:new Date(1360040400000),$lt:new Date(1360990800000)}, "order.status" : "paid"}' --out ordersfeb6.json

Wenn Sie ISODate in Epoche umwandeln möchten, rufen Sie einfach date in der Shell auf, etwa so:

> new Date(2013,01,16)*1
1360990800000

Dann zur Überprüfung:

> new Date(1360990800000)
ISODate("2013-02-16T05:00:00Z")

Aktualisierung: Wie in den Kommentaren von Imcaptor angemerkt, ist der Monat im Date nullbasiert (0 =Jan, 11 =Dez). Konstruktor, etwas, das die meisten nicht erwarten, und leicht zu vergessen. Ich habe im obigen Beispiel 01 übergeben und ein Februar-Datum erhalten, wie Sie im ISODate aus der Überprüfung sehen können.