Это, должно быть, глупый вопрос, но я достаточно долго ударил головой о стену..findOne не передает результаты обратного вызова
Краткая версия: У меня есть запрос, который возвращает результат, как ожидалось, в консоли Mongo, но не возвращает никаких результатов (или ошибок) при использовании через пакет Mongo NodeJS.
var weatherCacheQuery = {
'location': {
'$near': {
'$geometry': {
type: 'Point',
coordinates: [location.coordinates[0], location.coordinates[1]]
},
'$maxDistance': 50000
}
},
'retrieved': {
'$gte': moment().subtract(2, 'hours').toDate()
}
};
this.db.collection('weather').findOne(
weatherCacheQuery,
function(err, doc) {
console.log(JSON.stringify(err));
console.log(JSON.stringify(doc));
}
});
Как вы можете видеть, ничего слишком сложного.
Если я сбрасываю объект запроса и вставляю его в запрос findOne в консоли Mongo, он возвращает единственный результат, который выглядит точно так, как должен. Однако в JS два файла console.log() возвращают значение null.
Немного более странно, find() с тем же запросом делает возвращает результат, но не тот, который я могу просмотреть, потому что JSON.stringify() жалуется на то, что он является круговым.
Может кто-нибудь указать на абсурдную вещь, без сомнения, что я делаю не так?
Вы используете Node MongoDB драйвер 2.0? –
Получаете ли вы какой-либо вывод, если вы задаете 'weatherCacheQuery = {}'? – Jaco
@ExplosionPills - package.json показывает^2.0.45. – user1381745