从mongoDB和Nodejs获取数据:toArray不是函数错误

时间:2016-09-08 01:56:34

标签: node.js mongodb mongoose

我有以下代码:

var user = User.find({}).limit(1).skip(10).toArray();

但我收到的错误是toArray不是函数。

但是,如果我遵循,我将获得所有记录:

User.find({}, function(err, users) {
        if(err) {
            res.send(err);
            return;
        }
        res.json(users);
    });

我正在使用mongoose包。

我在这里错过了什么或做错了什么?

2 个答案:

答案 0 :(得分:0)

mongoose是顶级mongodb上的一层,它几乎覆盖了所有mongodb查询/命令,但不是全部,并且很少有人在mongoose中表现得略有不同。在toArray()的情况下,mongoose.find()返回一个查询对象,而不是一个游标。 toArray()仅适用于游标

Model.find().toArray() claiming to not have .toArray() method

答案 1 :(得分:0)

  

toArray检查参考node-mongodb-native

Cursor class上存在Native MongoDB NodeJS driver功能

如果您使用mongoose,则可以在回调函数

中转换它