javascript - Mongoexport utiliza restricciones de $ gt y $ lt en un intervalo de fechas
mongodb (1)
El problema aquí es cómo se representan las fechas, se deben pasar como tipos de Date
y en formato de época. Intenta esto en su lugar:
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 está buscando convertir ISODate a epoch, simplemente llame a date en el shell, algo como esto:
> new Date(2013,01,16)*1
1360990800000
Luego para verificar:
> new Date(1360990800000)
ISODate("2013-02-16T05:00:00Z")
Actualización: Como se señaló en los comentarios de imcaptor , el mes está basado en cero (0 = enero, 11 = diciembre) en el constructor de la Date
, no es algo que la mayoría esperará y será fácil de olvidar. Pasé el 01 en el ejemplo anterior y obtuve una fecha de febrero, como puede ver en el ISODate de la verificación.
Estoy tratando de obtener los pedidos realizados para un día determinado desde mi mongodb usando la siguiente llamada de mongoexport:
mongoexport --db store --collection user_data --query "{''order.created_order'':{$gt:ISODate("2013-02-05T00:00:00.000Z"),$lt:ISODate("2013-02-06T00:00:00.000Z")}, ''order.status'':''paid''}" --out ordersfeb6.json
pero actualmente estoy experimentando el siguiente error:
Thu Feb 7 18:33:43 Assertion: 10340:Failure parsing JSON string near: ''order.cre
0x56a223 0x5712e5 0x53e0f7 0x53e21e 0x8b7739 0x524f2b 0x5258a3 0x7fa7b77bd76d 0x525975
mongoexport(_ZN5mongo15printStackTraceERSo+0x23) [0x56a223]
mongoexport(_ZN5mongo11msgassertedEiPKc+0xc5) [0x5712e5]
mongoexport(_ZN5mongo8fromjsonEPKcPi+0x377) [0x53e0f7]
mongoexport(_ZN5mongo8fromjsonERKSs+0xe) [0x53e21e]
mongoexport(_ZN6Export3runEv+0x489) [0x8b7739]
mongoexport(_ZN5mongo4Tool4mainEiPPc+0x72b) [0x524f2b]
mongoexport(main+0x23) [0x5258a3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fa7b77bd76d]
mongoexport() [0x525975]
assertion: 10340 Failure parsing JSON string near: ''order.cre
A partir de esta pregunta, el error de análisis JSON de mongoexport Sé que se utiliza javascript para evaluar algunas partes de las consultas de Mongo. Me preguntaba: ¿los operadores $ gt y $ lt requieren javascript y ese es mi problema? Si no es así, no estoy seguro de lo que está mal con mi consulta y cualquier sugerencia sería muy apreciada. ¡Gracias por leer!