Я пытаюсь запустить это:Mongoexport -q ISODate запрос
mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{'$gte': ISODate('2014-12-21 12:57:00.506Z'),'$lt': ISODate('2014-12-21 12:59:00.506Z')}}"
Или это (GTE & л без - '):
mongoexport.exe -h *MYHOST* -p *MYPORT* -q {'time':{$gte: ISODate('2014-12-21 12:57:00.506Z'),$lt: ISODate('2014-12-21 12:59:00.506Z')}}
Запрос отлично работает на Robomongo, но с mongoexport он бросает: «слишком много позиционных аргументов»
Я знаю, что я могу запускать следующее вместо этого, но я не хочу использовать преобразователь даты каждый раз, когда мне нужно выполнить запрос.
mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{$gte: new Date(14191
66620506),$lt: new Date(1419166740506)}}"
Действительно ли этот ответ действителен? Запросы по строкам вместо ISODate, похоже, не возвращают никаких результатов, тогда как добавление конструктора ISODate ("") возвращает результаты - непосредственно в оболочке mongo. В mongoexports добавление конструктора ISODate ("") (или объекта JS Date) вызывает ошибку. – netpoetica
Похоже, что это будет работать правильно, но временная метка может быть очень тонкой. Время Epoch должно быть отформатировано для включения миллисекунд и iso time (как строка, как указано выше) * must * содержит микросекунды. – netpoetica
Кроме того, если вы пишете временную метку типа «2015-10-18T00: 00: 00Z00: 00», то mongoexport будет жаловаться на дополнительный текст: 00:00. – forgetso