从 mongoDB 和 Nodejs 获取数据:toArray 不是函数错误 [重复]
Posted
技术标签:
【中文标题】从 mongoDB 和 Nodejs 获取数据:toArray 不是函数错误 [重复]【英文标题】:Get data from mongoDB and Nodejs: toArray is not a function error [duplicate] 【发布时间】:2017-01-15 19:50:18 【问题描述】:我有以下代码:
var user = User.find().limit(1).skip(10).toArray();
但我收到错误消息说 toArray
不是函数。
但如果我执行以下操作,我将获得所有记录:
User.find(, function(err, users)
if(err)
res.send(err);
return;
res.json(users);
);
我正在为此目的使用猫鼬包。
我在这里遗漏了什么或做错了什么?
【问题讨论】:
你在 'mongo cell' 上检查了吗? 【参考方案1】:mongoose 是 mongodb 之上的一层,它涵盖了几乎所有的 mongodb 查询/命令,但不是所有的,而且很少有它们在 mongoose 中的行为方式略有不同。在 toArray() 的情况下,mongoose.find() 返回一个查询对象,而不是游标。 toArray() 只对光标有效
Model.find().toArray() claiming to not have .toArray() method
【讨论】:
【参考方案2】:
Cursor class
上存在toArray
函数,来自Native MongoDB NodeJS driver
检查参考node-mongodb-native
如果你使用mongoose
,那么你可以在你的回调函数中转换它
【讨论】:
以上是关于从 mongoDB 和 Nodejs 获取数据:toArray 不是函数错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
从 mongoDB 和 Nodejs 获取数据:toArray 不是函数错误 [重复]
使用Angularjs和nodejs进行Mongodb CRUD操作-如果数据已经存在,如何从数据库中获取消息?