gpt4 book ai didi

node.js - 从 stream() 移动到 cursor() 时,lean() 不再有效

转载 作者:可可西里 更新时间:2023-11-01 10:42:10 28 4
gpt4 key购买 nike

截至 DeprecationWarning 添加 here ,它似乎说 cursor()stream() 的直接替代品,但是,有些功能似乎已被遗忘。

例如,这个已弃用的代码将包含不是 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 () { });

并且这段代码将包含 mongoose 文档,即使使用了 lean():

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 () {});

super 很奇怪,因为他们的源代码在这次更改时看起来是一样的:

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

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

是否有使用 cursor() 实现此目的的正确方法,还是我发现了错误?提前致谢 ;)

最佳答案

经过研究我发现(感谢 JohnnyHK 的评论),看起来它没有在 cursor() 中实现,所以我提出了一个 pull request 来解决这个问题 https://github.com/Automattic/mongoose/pull/4255

关于node.js - 从 stream() 移动到 cursor() 时,lean() 不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934739/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com