从mongoDB和Nodejs获取数据:toArray不是函数错误
我有以下代码:
var user = User.find({}).limit(1).skip(10).toArray();
但我得到的错误说, toArray
不是一个函数。
但是,如果我遵循以下所有的logging:
User.find({}, function(err, users) { if(err) { res.send(err); return; } res.json(users); });
我正在使用mongoose包的目的。
我在这里错过什么或做错了什么?
mongoose是顶级的mongodb上的一层,它涵盖了几乎所有的mongodb查询/命令,但是并不是所有的mongoose都能够以略有不同的方式performance出它们的行为。 在toArray()的情况下,mongoose.find()返回查询对象,而不是游标。 toArray()仅适用于游标
Model.find()。toArray()声明不具有.toArray()方法
toArray
函数存在于Native MongoDB NodeJS driver
的Cursor class
检查参考节点-mongodb-native
如果你正在使用mongoose
那么你可以在你的callback函数中进行转换