在检索文件时用猫鼬处理背压

时间:2018-05-03 11:46:20

标签: node.js mongoose stream highland.js

我使用高地来处理背压。我的代码是:

const pipeline = [{
            $match: { 'published': true, status: 'Approved' }
        }];

        const cursor = UserModel.aggregate(pipeline)
            .cursor().exec();

        // iterating over each hospitality one by one    
        highland(cursor)
            .map((doc) => {
                // some code
                return doc;
            })
            .map((doc) => {
                // some code
                return doc;
            })
            .map((doc) => {
                // some code
                return doc;
            })
            .errors(function (err) {
                winston.error('error', err);
            })
            .done(() => {
                winston.info('JOB: done');
            });

我希望获取一个文档然后逐个处理地图流。

我不确定这是否可以处理背压,因为highland doc说:

请参阅高压文件中的背压部分。

  

某些流(例如基于事件的流)无法暂停。在   在这些情况下,数据会被缓冲,直到消费者准备好处理它为止。

如果这不能处理背压,请以其他方式建议!

0 个答案:

没有答案