Du bruger ikke open
tilbagekald, så hvis du forsøger at lave findall
anmodning lige efter oprettelse af dao
så er den ikke klar.
Hvis din kode er sådan, vil den ikke virke.
var dao = new DataAccessObject("my_dbase", "localhost", 27017);
dao.findAll("my_collection",function() {console.log(arguments);});
Jeg har testet det, og det finder ikke poster, og det giver heller ingen fejl. Jeg synes, det burde give en fejl.
Men hvis du ændrer det, så du giver et tilbagekald til konstruktøren, så burde det virke.
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);
}
Og lav din kode sådan her.
var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
dao.findAll("my_collection",function() {console.log(arguments);});
});