Iterowanie seryjnie kursora mongodb (oczekiwanie na wywołania zwrotne przed przejściem do następnego dokumentu)
Używając mongoskin, mogę wykonać takie zapytanie, które zwróci kursor:
myCollection.find({}, function(err, resultCursor) {
resultCursor.each(function(err, result) {
}
}
Chciałbym jednak wywołać niektóre funkcje asynchroniczne dla każdego dokumentu i przejść do następnego elementu kursora po tym, jak wywołał on z powrotem (podobnie do struktury eachSeries w module async.js). Na przykład:
myCollection.find({}, function(err, resultCursor) {
resultCursor.each(function(err, result) {
externalAsyncFunction(result, function(err) {
//externalAsyncFunction completed - now want to move to next doc
});
}
}
Jak mogłem to zrobić?
Dzięki
AKTUALIZACJA:
Nie chcę używaćtoArray()
ponieważ jest to duża operacja wsadowa, a wyniki mogą nie zmieścić się w pamięci za jednym razem.