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