MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

node.js mongodb - collection.find().toArray(callback) - callback nie jest wywoływany

Nie używasz open callback, więc jeśli próbujesz wykonać findall żądanie zaraz po utworzeniu dao wtedy nie będzie gotowy.

Jeśli Twój kod jest taki, nie zadziała.

var dao = new DataAccessObject("my_dbase", "localhost", 27017);

dao.findAll("my_collection",function() {console.log(arguments);});

Przetestowałem to i nie znajduje rekordów, a także nie daje błędu. Myślę, że to powinno dać błąd.

Ale jeśli zmienisz to tak, że dajesz wywołanie zwrotne do konstruktora, to powinno działać.

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

I stwórz swój kod w ten sposób.

var dao = new DataAccessObject("my_dbase", "localhost", 27017, function() {
    dao.findAll("my_collection",function() {console.log(arguments);});
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd MongoDB na mongos:zbyt wiele opcji pozycyjnych

  2. Jak zwrócić ostatni osadzony dokument push()?

  3. Użyj dodatku Heroku mongolab z node.js

  4. Uwierzytelnianie wiersza poleceń powłoki MongoDB nie powiodło się

  5. Jak ponownie uruchomić istniejący kontener Docker MongoDB z nowymi flagami do demona?