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.

questionAnswers(8)

yourAnswerToTheQuestion