MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

node.js mongodb - collection.find().toArray(callback) - обратното извикване не се извиква

Не използвате open обратно извикване, така че ако се опитвате да направите findall заявка веднага след създаването на dao тогава няма да е готово.

Ако вашият код е такъв, той няма да работи.

var dao = new DataAccessObject("my_dbase", "localhost", 27017);

dao.findAll("my_collection",function() {console.log(arguments);});

Тествах го и не намира записи и също не дава грешка. Мисля, че трябва да дава грешка.

Но ако го промените така, че да дадете обратно извикване на конструктора, тогава трябва да работи.

var DataAccessObject = function(db_name, host, port, callback){
    this.db = new Db(db_name, new Server(host, port, {auto_reconnect: true}, {}));
    this.db.open(callback);
}

И направете кода си така.

var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
    dao.findAll("my_collection",function() {console.log(arguments);});
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $all параметър в mongodb не работи с ObjectId списък

  2. return Model.create(arr).exec() не работи в mongoose

  3. TypeError:обектът не е функция при използване на MongoDB с Node.js

  4. MongoDB, Mongoose:Как да намеря поддокумент в намерен документ?

  5. Mongo и намирането винаги са ограничени до 100 с географски данни