MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoexport utilisant les contraintes $gt et $lt sur une plage de dates

Le problème ici est de savoir comment vous représentez les dates, elles doivent être transmises en tant que Date types et au format d'époque. Essayez ceci à la place :

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

Si vous cherchez à convertir ISODate en époque, appelez simplement date dans le shell, quelque chose comme ceci :

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

Ensuite pour vérifier :

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

Mise à jour : Comme indiqué dans les commentaires par imcaptor, le mois est basé sur zéro (0 =janvier, 11 =décembre) dans la Date constructeur, pas quelque chose que la plupart s'attendent, et facile à oublier. J'ai passé 01 dans l'exemple ci-dessus et j'ai obtenu une date de février, comme vous pouvez le voir dans l'ISODate de la vérification.