Det er den korrekte tilbagekaldssyntaks, men hvad find
giver tilbagekaldet en Cursor
, ikke en række dokumenter. Så hvis du ønsker, at dit tilbagekald skal give resultater som en række dokumenter, skal du ringe toArray
på markøren for at returnere dem:
collection.find({'_id':o_id}, function(err, cursor){
cursor.toArray(callback);
db.close();
});
Bemærk, at din funktions tilbagekald stadig skal give en err
parameter, så den, der ringer, ved, om forespørgslen virkede eller ej.
2.x driveropdatering
find
returnerer nu markøren i stedet for at give den via et tilbagekald, så den typiske brug kan forenkles til:
collection.find({'_id': o_id}).toArray(function(err, results) {...});
Eller i dette tilfælde, hvor et enkelt dokument forventes, er det nemmere at bruge findOne
:
collection.findOne({'_id': o_id}, function(err, result) {...});