gpt4 book ai didi

node.js - 从 Mongoose 模型中找到的 native 驱动程序不返回光标

转载 作者:IT老高 更新时间:2023-10-28 13:25:38 27 4
gpt4 key购买 nike

我正在尝试通过 Mongoose Modelcollection 属性执行 native MongoDB find 查询。我没有提供回调,所以我希望 find 返回一个 Cursor 对象,但它返回的是 undefined 。根据Mongoose docs ,正在使用的驱动程序可以通过 YourModel.collection 访问,如果我切换到纯粹使用 native 驱动程序代码 find 确实返回一个 Cursor 所以我不知道发生了什么。

这是重现问题的代码片段:

var db = mongoose.connect('localhost', 'test');
var userSchema = new Schema({
username: String,
emailAddress: String
});
var User = mongoose.model('user', userSchema);

var cursor = User.collection.find({});
// cursor will be set to undefined

我尝试使用 node-inspector 进入代码,但它不允许我这样做。知道我做错了什么吗?

最佳答案

native 驱动程序方法都被代理在 nextTick 上运行,因此不会返回来自驱动程序的返回值。

相反,您可以传递回调,返回的第二个参数是光标。

User.collection.find({}, function (err, cursor) {
//
});

好奇你为什么需要绕过 Mongoose ?

关于node.js - 从 Mongoose 模型中找到的 native 驱动程序不返回光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588808/

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