Non stai usando open
richiamata quindi se stai cercando di fare il findall
richiesta subito dopo aver creato il dao
allora non sarà pronto.
Se il tuo codice è così, non funzionerà.
var dao = new DataAccessObject("my_dbase", "localhost", 27017);
dao.findAll("my_collection",function() {console.log(arguments);});
L'ho testato e non trova record e inoltre non dà errori. Penso che dovrebbe dare un errore.
Ma se lo modifichi in modo da richiamare il costruttore, dovrebbe funzionare.
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);
}
E crea il tuo codice in questo modo.
var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
dao.findAll("my_collection",function() {console.log(arguments);});
});