Dat is de juiste callback-syntaxis, maar wat find
geeft aan de terugbel is een Cursor
, niet een reeks documenten. Dus als u wilt dat uw callback resultaten oplevert als een reeks documenten, belt u toArray
op de cursor om ze terug te geven:
collection.find({'_id':o_id}, function(err, cursor){
cursor.toArray(callback);
db.close();
});
Houd er rekening mee dat de callback van uw functie nog steeds een err
. moet geven parameter zodat de beller weet of de query werkte of niet.
2.x stuurprogramma-update
find
geeft nu de cursor terug in plaats van deze via een callback te geven, dus het typische gebruik kan worden vereenvoudigd tot:
collection.find({'_id': o_id}).toArray(function(err, results) {...});
Of in dit geval waar een enkel document wordt verwacht, is het eenvoudiger om findOne
. te gebruiken :
collection.findOne({'_id': o_id}, function(err, result) {...});