NodeJS и node-mongodb-native - PullRequest
       3

NodeJS и node-mongodb-native

6 голосов
/ 17 июня 2010

Просто начать работу с узлом и попытаться заставить драйвер Монго работать.У меня настроено соединение, и, как ни странно, я могу вставлять вещи просто отлично, однако вызов find для коллекции вызывает сумасшествие.

var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {});

db.open(function(err, db) {
    db.collection('things', function(err, collection) {
//          collection.insert(row);
        collection.find({}, null, function(err, cursor) {
            cursor.each(function(err, doc) {
                sys.puts(sys.inspect(doc,true));
            });
        });

    });
});

Если я раскомментирую вставку и закомментирую поиск, это сработаетлечить.Обратное, к сожалению, не выполняется, я получаю эту ошибку:

        collection.find({}, null, function(err, cursor) {
            ^
TypeError: Cannot call method 'find' of null

Я уверен, что делаю что-то глупое, но ради жизни я не могу найти это ...

Ответы [ 2 ]

9 голосов
/ 17 марта 2011

Я получил то же самое только сейчас. Я понял, что db.collection почему-то вызывается снова и снова, поэтому я сделал что-то вроде этого (взломав ваш код):

    var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {});

    var Things;    

    db.open(function(err, db) {
        db.collection('things', function(err, collection) {
            Things = Things || collection;    
    });

   var findThings = function() {
       Things.find({}, null, function(err, cursor) {
           cursor.each(function(err, doc) {
               sys.puts(sys.inspect(doc,true));
           });
       });
   }

Я понимаю, вы спрашивали об этом 9 месяцев назад. Надеюсь, этот могильный Diggin все еще кому-то помогает. Удачи!

0 голосов
/ 21 ноября 2010

попробуйте вызвать collection.save () после вставки, чтобы очистить строку.

взгляните на http://www.learnboost.com/mongoose/

"В настоящее время Mongoose поддерживает только ручную сброс данных на сервер."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...