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

Jak uzyskać wywołanie zwrotne w MongoDB collection.find()

To poprawna składnia wywołania zwrotnego, ale co find? zapewnia do wywołania zwrotnego Cursor , a nie szereg dokumentów. Więc jeśli chcesz, aby wywołanie zwrotne dostarczało wyniki w postaci tablicy dokumentów, wywołaj toArray na kursorze, aby je zwrócić:

collection.find({'_id':o_id}, function(err, cursor){
    cursor.toArray(callback);
    db.close();
});

Zwróć uwagę, że wywołanie zwrotne funkcji nadal musi zawierać err parametr, aby osoba wywołująca wiedziała, czy zapytanie zadziałało, czy nie.

Aktualizacja sterownika 2.x

find teraz zwraca kursor zamiast dostarczać go przez wywołanie zwrotne, więc typowe użycie można uprościć do:

collection.find({'_id': o_id}).toArray(function(err, results) {...});

Lub w tym przypadku, gdy oczekiwany jest pojedynczy dokument, łatwiej jest użyć findOne :

collection.findOne({'_id': o_id}, function(err, result) {...});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo group pyta, jak zachować pola

  2. Mongoid:znajdź poprzez tablicę identyfikatorów

  3. Wyodrębniona agregacja MongoDB

  4. MongoDB przez Mongoose JS — Co to jest findByID?

  5. Wstaw duży rekord do mongodb za pomocą powłoki mongo