sql >> Databasteknik >  >> NoSQL >> MongoDB

node.js mongodb - collection.find().toArray(callback) - callback anropas inte

Du använder inte open återuppringning så om du försöker göra findall begäran direkt efter att du skapat dao då är den inte klar.

Om din kod är så här kommer den inte att fungera.

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

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

Jag testade det och det hittar inga poster, och det ger heller inget fel. Jag tror att det borde ge ett fel.

Men om du ändrar det så att du ringer tillbaka till konstruktören, så borde det fungera.

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);
}

Och gör din kod så här.

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



  1. MongoDB $dateFromString Format Specifiers

  2. Denormalisering av data i MongoDB

  3. Det gick inte att lösa löftesavvisning och skicka array som svar

  4. Hur man definierar objekt i array i Mongoose-schemat korrekt med 2d geo-index