2016-08-05 46 views
1

使用MySQL,它很容易从数据库中打开一个可读的流。所有我们需要做的是:有没有一种简单的方法在Node中从Mongo打开可读流?

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

之后,我们可以做这样的事情:

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

,这是极快的。事实上,我尝试使用类似85千行的东西,并且能够在不到一分钟的时间内列出控制台上的所有数据。

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

如果可能的话,Mongo怎么样?在一个本地驱动程序光标

回答

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!'); 
}); 
+0

这是相当不错的,我到现在也没它那么简单。感谢你的回答!顺便说一下,你知道是否有某种方法可以使用Monk获得可读流? – user1620696

+0

@ user1620696很高兴帮助。对不起,我不使用Monk,所以我无法帮助你。 – JohnnyHK

相关问题