NodeJS -> запрос Mongodb

у меня проблема с запросом из NodeJS в MongoDb (я использую собственный клиент).

По сути, я получил 2 разных результата при выполнении запроса из консоли монго и из приложения node. (с собственным клиентом mongo: я не использую mongoose или другие модули)

это мой объект запроса (я использую collection.find() ):

{ 'stats.campaign_id': 6010108824797,
  'stats.collectDate': { '$gte': 1375628400, '$lt': 1375632000 } }

По сути, ответ приложения Node относится только к первой части объекта запроса (campany_id): stats.collectDate не принимается во внимание. (я получаю ВСЕ записи относительно stats.campaign_id: длина результата> 100)

С консоли mongo запрос работает как положено: результаты фильтруются по stats.collectDate (длина результатов = 3).

Кто-нибудь знает, как заставить запрос работать также из моего приложения node, возможно, без использования других модулей? И в чем разница между mongoconsole и драйвером узла mongo?

Спасибо заранее


person Davide Arcinotti    schedule 02.10.2013    source источник
comment
Не могли бы вы показать полный код, который вы используете в обоих случаях?   -  person WiredPrairie    schedule 02.10.2013
comment
Привет, код всегда один и тот же: db.collection.find(queryObject) (объект запроса тот же, что и в моем вопросе), проблема в том, что результаты разные (кажется, что параметры запроса игнорируются из Node). Я где-то читал, что что-то меняется при выполнении команд из консоли или из ноды, но не нашел ничего, что бы это объясняло.   -  person Davide Arcinotti    schedule 15.10.2013
comment
немного поздно, для тех, кто пытается найти ответ на crud nodejs mongodb. Пожалуйста, найдите этот учебник. programmerblog.net/nodejs-mongodb-tutorial   -  person Jason W    schedule 14.07.2017


Ответы (1)


попробуйте деформировать свои временные метки в объекте даты в приложении вашего узла

{ 'stats.campaign_id': 6010108824797, 'stats.collectDate': { '$gte': new Date(1375628400), '$lt': new Date(1375632000) } }

person Amit Wagner    schedule 23.09.2017