Vous n'utilisez pas le open
rappel donc si vous essayez de faire le findall
demande juste après avoir créé le dao
alors ce ne sera pas prêt.
Si votre code est comme ça, cela ne fonctionnera pas.
var dao = new DataAccessObject("my_dbase", "localhost", 27017);
dao.findAll("my_collection",function() {console.log(arguments);});
Je l'ai testé et il ne trouve pas d'enregistrements, et il ne donne également aucune erreur. Je pense que cela devrait donner une erreur.
Mais si vous le modifiez pour rappeler le constructeur, cela devrait fonctionner.
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);
}
Et faites votre code comme ceci.
var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
dao.findAll("my_collection",function() {console.log(arguments);});
});