2016-02-19 5 views
3

I'am new to Node.js и MongoDB и я пытаюсь это сделать.Node.JS запрос MongoDB, возвращающий нуль

Я сделал коллекцию под названием footIco. Когда я запрашиваю MongoDB в консоли с db.footIco.find(), он возвращает все данные.

Однако, когда я запрашиваю MongoDB из Node.js не возвращает никаких данных.

Я вижу соединение в MongoDB серверная консоль.

Это мой Node.js script;

var MongoClient = require('mongodb').MongoClient; 
var assert = require('assert'); 
var ObjectId = require('mongodb').ObjectID; 
var url = 'mongodb://localhost:27017/footIco'; 

var findIco = function(db, callback) { 
    var cursor =db.collection('footIco').find(); 
    cursor.each(function(err, doc) { 
     assert.equal(err, null); 
     if (doc != null) { 
     console.dir(doc); 
     } else { 
     callback(); 
      console.dir(doc); 
     } 
    }); 
}; 

MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    findIco(db, function() { 
     db.close(); 
    }); 
}); 

Может кто-нибудь сказать мне, что в этом плохого. Это довольно много копирования и вставки из MongoDB учебник

+1

Помогло бы, если бы я использовал хорошее имя базы данных. – MadeInDreams

ответ

1

Эта линия:

assert.equal(err, null); 

это JavaScript конкретно, что обработчики, что броски ошибка не будет бросать в никуда, я бы рекомендовал изменить его на console.log(err) или просто измените свой обратный вызов, чтобы обрабатывать параметр err.

+0

Но я все равно не получаю никакого результата, если я удалю эту часть. – MadeInDreams

+0

Если у вас нет ошибок и нет данных, это означает, что у вас нет данных, вы проверяли экземпляр mongo с помощью какой-либо консоли mongo, например robomongo? –

+0

Да, его работа я называл неправильной базой данных. Спасибо. – MadeInDreams

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