Да mongodb cursor
, который возвращается db.collection().find()
, имеет stream() api
для потоковой передачи документов:
const stream = db
.collection("dbCollName")
.find()
.stream();
stream.on("data", function(data) {
//get streamed documents one by one
const currentDoc = data;
});
stream.on("error", function(error) {
console.error("STREAM ERROR::", error.stack);
});
stream.on("end", function() {
console.info("Streaming docs finished");
client.close(); //new MongoClient(url, { useNewUrlParser: true });
});
Некоторое время назад написал демонстрационный тест для stream
с курсором mongodb node driver
, чтобы клонировать коллекцию для достаточного количества набора данных. дополнительная информация