是否有一种简单的方法可以在Node中打开Mongo的可读流?

时间:2016-08-05 02:35:32

标签: node.js mongodb stream

使用MySQL 非常容易从数据库打开可读流。我们需要做的就是:

function getTableStream() {
    connection.query('SELECT * FROM someTable WHERE field = value').stream();
}

之后我们可以做以下事情:

getTableStream.on('data', function(data) {
    console.log(data);
});

这很快。事实上,我尝试了85千行,并且能够在不到一分钟的时间内在控制台上列出所有数据。

我想知道:是否可以用MongoDB做同样的事情?我们可以从mongo打开一个可读的流并通过流式传输从那里获取数据吗?

如果有可能,如何用Mongo完成?

1 个答案:

答案 0 :(得分:3)

在本机驱动程序游标上调用.stream()以获得可读的流:

var stream = collection.find().stream();
stream.on('data', function(doc) {
    console.log(doc);
});
stream.on('error', function(err) {
    console.log(err);
});
stream.on('end', function() {
    console.log('All done!');
});