Nếu bạn không muốn tải tất cả kết quả vào bộ nhớ bằng toArray, bạn có thể lặp lại bằng cách sử dụng con trỏ với một cái gì đó như sau.
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);
}