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