2013-10-02 1 views
1

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

В принципе, я получил 2 разных результата при выполнении запроса из консоли mongo и из приложения-узла. (С родным клиентом Монго: Я не использую мангуст или другие модули)

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

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

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

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

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

Большое спасибо заранее

+2

Не могли бы вы показать полный код, который вы используете в обоих случаях? – WiredPrairie

+0

Привет, код всегда один и тот же: db.collection.find (queryObject) (объект запроса - тот, что в моем вопросе), проблема в том, что результаты разные (кажется, что параметры запроса игнорируются из Node). Я где-то читал, что что-то меняется при выполнении команд с консоли или с узла, но я ничего не нашел, объясняя это. –

+0

его немного поздно, для тех, кто пытается найти ответ для nodejs mongodb crud. пожалуйста, найдите этот учебник. http://programmerblog.net/nodejs-mongodb-tutorial/ –

ответ

0

попробовать деформировать свои временные метки в Date Object в приложении узла

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