从stream()移动到cursor()时,lean()不再有效

时间:2016-06-21 02:41:36

标签: node.js mongodb mongoose cursor

截至DeprecationWarning已添加here,似乎可以说java aaa.bbb.ccc.testcd ../.. java aaa.bbb.ccc.test 的替代品,但是,有一些功能似乎被遗忘了

例如,这个已弃用的代码将具有" lean" cursor()实例

的文档
stream()

此代码将包含mongoose文档,即使使用mongoose.Document

Cat
    .find({ }).lean()
    .stream()
    .on('data', function (data) {
        var value = data instanceof mongoose.Document;
        console.log('lean().stream() data instanceof mongoose.Document', value);
    })
    .on('end', function () { });

超级奇怪,因为此更改时的源代码看起来相同:

lean()https://github.com/Automattic/mongoose/blob/94557653dba2cd9046f1b2ffab427cef4632a7c3/lib/query.js#L2769

Cat .find({ }).lean() .cursor() .on('data', function (data) { var value = data instanceof mongoose.Document; console.log('lean().cursor() data instanceof mongoose.Document', value); }) .on('end', function () {}); https://github.com/Automattic/mongoose/blob/94557653dba2cd9046f1b2ffab427cef4632a7c3/lib/query.js#L2816

有没有一种正确的方法来实现stream()或者我找到了一个错误?在此先感谢;)

1 个答案:

答案 0 :(得分:1)

我在研究后发现(并且感谢JohnnyHK的评论),看起来它没有在cursor()中实现,所以我提出了解决此问题的拉取请求https://github.com/Automattic/mongoose/pull/4255