sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan får du et tilbagekald på MongoDB collection.find()

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


  1. Mongoose.js instance.save() tilbagekald udløses ikke

  2. Forskellen mellem StackExchange.Redis og ServiceStack.Redis

  3. Sådan gemmer du en række hashes i redis

  4. MongoDB $cos