Serielles Durchlaufen eines Mongodb-Cursors (Warten auf Rückrufe, bevor zum nächsten Dokument übergegangen wird)
Mit Mongoskin kann ich eine Abfrage wie die folgende durchführen, die einen Cursor zurückgibt:
myCollection.find({}, function(err, resultCursor) {
resultCursor.each(function(err, result) {
}
}
Ich möchte jedoch einige asynchrone Funktionen für jedes Dokument aufrufen und erst mit dem nächsten Element auf dem Cursor fortfahren, nachdem dieses zurückgerufen wurde (ähnlich der eachSeries-Struktur im async.js-Modul). Z.B:
myCollection.find({}, function(err, resultCursor) {
resultCursor.each(function(err, result) {
externalAsyncFunction(result, function(err) {
//externalAsyncFunction completed - now want to move to next doc
});
}
}
Wie könnte ich das machen?
Vielen Dank
AKTUALISIEREN:
Ich will nicht benutzentoArray()
Dies ist eine große Stapeloperation, und die Ergebnisse passen möglicherweise nicht auf einmal in den Speicher.