使用MySQL 非常容易从数据库打开可读流。我们需要做的就是:
function getTableStream() {
connection.query('SELECT * FROM someTable WHERE field = value').stream();
}
之后我们可以做以下事情:
getTableStream.on('data', function(data) {
console.log(data);
});
这很快。事实上,我尝试了85千行,并且能够在不到一分钟的时间内在控制台上列出所有数据。
我想知道:是否可以用MongoDB做同样的事情?我们可以从mongo打开一个可读的流并通过流式传输从那里获取数据吗?
如果有可能,如何用Mongo完成?
答案 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!');
});