sql >> Base de Datos >  >> NoSQL >> MongoDB

Iterando sobre un cursor mongodb en serie (esperando devoluciones de llamada antes de pasar al siguiente documento)

Si no desea cargar todos los resultados en la memoria usando toArray, puede iterar usando el cursor con algo como lo siguiente.

myCollection.find({}, function(err, resultCursor) {
  function processItem(err, item) {
    if(item === null) {
      return; // All done!
    }

    externalAsyncFunction(item, function(err) {
      resultCursor.nextObject(processItem);
    });

  }

  resultCursor.nextObject(processItem);
}