【问题标题】:Is there a simple way to open a readable stream from Mongo in Node?有没有一种简单的方法可以在 Node 中从 Mongo 打开可读流?
【发布时间】:2016-08-05 02:35:31
【问题描述】:

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

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

之后我们可以执行以下操作:

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

而且速度非常快。事实上,我用 85,000 行这样的数据进行了尝试,它能够在不到一分钟的时间内列出控制台上的所有数据。

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

如果可能的话,Mongo 是如何做到的?

【问题讨论】:

    标签: node.js mongodb stream


    【解决方案1】:

    在本机驱动程序光标上调用 .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!');
    });
    

    【讨论】:

    • 这很好,我现在没有这么简单。感谢你的回答!顺便问一下,您知道是否有某种方法可以使用 Monk 获取可读流?
    • @user1620696 很高兴它有帮助。抱歉,我不使用 Monk,所以无法帮助您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2010-09-13
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多