首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当从stream()移动到游标()时,lean()不再工作。

当从stream()移动到游标()时,lean()不再工作。
EN

Stack Overflow用户
提问于 2016-06-21 02:41:36
回答 1查看 578关注 0票数 2

对于DeprecationWarning添加的这里,它似乎说cursor()stream()的替代物,然而,有些功能似乎已经被抛在后面。

例如,这个不推荐的代码将具有“精益”文档,而这些文档不是mongoose.Document的实例。

代码语言:javascript
复制
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()时,这段代码也会有猫鼬文档:

代码语言:javascript
复制
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 () {});

这是超级奇怪的地方,因为在进行此更改时,它们的源代码看起来是相同的:

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

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

是否有适当的方法可以通过cursor()实现这一点,或者我找到了一个bug?(预先谢谢;)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-21 19:09:17

经过研究(感谢JohnnyHK的评论),我发现它似乎没有在cursor()中实现,所以我已经请求解决这个问题,https://github.com/Automattic/mongoose/pull/4255

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37934739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档