U gebruikt de open
. niet terugbellen, dus als u de findall
. probeert te maken verzoek direct na het maken van de dao
dan is het niet klaar.
Als uw code er zo uitziet, werkt deze niet.
var dao = new DataAccessObject("my_dbase", "localhost", 27017);
dao.findAll("my_collection",function() {console.log(arguments);});
Ik heb het getest en het vindt geen records en het geeft ook geen foutmelding. Ik denk dat het een foutmelding zou moeten geven.
Maar als je het verandert zodat je de constructor terugbelt, dan zou het moeten werken.
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);
}
En maak je code zo.
var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
dao.findAll("my_collection",function() {console.log(arguments);});
});