Последовательная итерация по курсору mongodb (ожидание обратных вызовов перед переходом к следующему документу)

Используя mongoskin, я могу сделать такой запрос, который вернет курсор:

myCollection.find({}, function(err, resultCursor) {
      resultCursor.each(function(err, result) {

      }
}

Однако я'Я хотел бы вызывать некоторые асинхронные функции для каждого документа и переходить к следующему элементу курсора только после его обратного вызова (аналогично структуре eachSeries в модуле async.js). Например:

myCollection.find({}, function(err, resultCursor) {
      resultCursor.each(function(err, result) {

            externalAsyncFunction(result, function(err) {
               //externalAsyncFunction completed - now want to move to next doc
            });

      }
}  

Как я мог это сделать?

Спасибо

ОБНОВИТЬ:

Я нене хочут использоватьtoArray() поскольку это большая пакетная операция, и результаты могут не помещаться в памяти за один раз.

Ответы на вопрос(8)

Ваш ответ на вопрос