2013-09-07 1 views
-1

Я использую инструмент mongoexport для экспорта данных из коллекции. В моей коллекции есть conn_time поле с ISODate timestamp. Я хочу экспортировать данные, загруженные за последние 15 минут.Как получить временную метку isodate в JavaScript для базы данных MongoDb

Я использую его, как показано ниже, но она возвращает ошибку: "Too many positions."

-q '{conn_time:{$gt:"Fri' Sep 06 2013 22:23:20 GMT+0000 '(GMT)",$lt:"Fri' Sep 06 2013 22:38:20 GMT+0000 '(GMT)"}}' 

Полная команда:

mongoexport --csv --out /tmp/aud_createcoll_log.csv 
--host abc.corp.ner:1089 
--db test --collection aud_create_log 
-q '{conn_time:{$gt:"Fri' Sep 06 2013 22:23:20 GMT+0000 '(GMT)",$lt:"Fri' Sep 06 2013 22:38:20 GMT+0000 '(GMT)"}}' 
--fields app_name,file_name,conn_time,conn_host,conn_command -u user -p 'aaaaaa' -v 

ответ

0

Пока я не могу проверить свою командную строку точно (как я не у вас есть БД), я бы предположил, что есть несколько вопросов:

  1. Ваш запрос использует несогласованные кавычки. У вас есть открытая одинарная кавычка ('), а затем используйте одну цитату несколько раз в запросе, не ускользая от нее. Таким образом, синтаксический анализатор командной строки очень запутан и недопонимает, что остальная часть командной строки является дополнительным аргументом (на самом деле слишком много). Вы можете использовать \', если хотите избежать одиночных кавычек, но, как вы увидите в следующем предложении, в любом случае вам не нужны дополнительные кавычки.
  2. Я предлагаю вам использовать ISODate в запросе, но вам нужно убедиться, что он в правильном формате. Например: ISODate("2013-09-07T20:03:38.739Z"). Как упоминалось в первом пункте, таким образом, вам не нужно использовать больше, чем двойную кавычку, чтобы выразить полную дату.

Команда будет выглядеть следующим образом (как я уже сказал, я не проверял):

mongoexport --csv --out /tmp/aud_createcoll_log.csv 
--host abc.corp.ner:1089 
--db test --collection aud_create_log 
-q '{conn_time:{$gt:ISODate("2013-09-06T22:23:20"),$lt:ISODate("2013-09-06T22:38:20")}}' 
--fields app_name,file_name,conn_time,conn_host,conn_command -u user -p 'aaaaaa' -v 
+0

, когда я использовал Java Script я получил дату в формате пят»6 сентября 2013 22:23 : 20 GMT + 0000 '(GMT). Но я хочу, чтобы дата даты запрашивала данные, используя коллекции монго – user2609099

+0

@ user2609099 - это вопрос? Мой ответ работал на вас? – WiredPrairie

Смежные вопросы