本机驱动程序从Mongoose模型中找不到返回Cursor

时间:2012-05-14 18:17:28

标签: node.js mongodb mongoose

我正在尝试通过Mongoose find的{​​{1}}属性执行本机MongoDB collection查询。我没有提供回调,所以我希望find返回Model个对象,但它返回Cursor。根据{{​​3}},正在使用的驱动程序可以通过undefined访问,如果我切换到纯粹使用本机驱动程序代码YourModel.collection,则会返回find,所以我不能弄清楚发生了什么。

以下是重现问题的代码段:

Cursor

我尝试使用node-inspector进入代码,但它并没有让我这么做。知道我做错了吗?

1 个答案:

答案 0 :(得分:11)

本机驱动程序方法都代理在nextTick上运行,因此不返回驱动程序的返回值。

相反,您可以传递回调,返回的第二个arg是游标。

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

好奇为什么你需要绕过猫鼬?