Det är rätt syntax för återuppringning, men vad find
ger till återuppringningen är en Cursor
, inte en mängd dokument. Så om du vill att din återuppringning ska ge resultat som en mängd dokument, ring toArray
på markören för att returnera dem:
collection.find({'_id':o_id}, function(err, cursor){
cursor.toArray(callback);
db.close();
});
Observera att din funktions återuppringning fortfarande måste ge ett err
parameter så att den som ringer vet om frågan fungerade eller inte.
2.x-drivrutinsuppdatering
find
returnerar nu markören istället för att tillhandahålla den via en återuppringning, så den typiska användningen kan förenklas till:
collection.find({'_id': o_id}).toArray(function(err, results) {...});
Eller i det här fallet där ett enstaka dokument förväntas, är det enklare att använda findOne
:
collection.findOne({'_id': o_id}, function(err, result) {...});