我正在使用node和mongo与本机客户端。

我想在我的应用程序中添加分页。

要获得分页,我需要我的回复始终将countdata一起返回

我想得到类似的东西:

{
   count : 111,
   data : [ { 'a' : 'only first item was requested' } ]
}


我可以在蒙哥做到这一点

> var guy  = db.users.find({}).limit(1)
> guy.count()
11
> guy.toArray()
[
    {
        "_id" : ObjectId("5381a7c004fb02b10b557ee3"),
        "email" : "[email protected]",
        "fullName" : "guy mograbi",
        "isAdmin" : true,
        "password" : "fe20a1f102f49ce45d1170503b4761ef277bb6f",
        "username" : "guy",
        "validated" : true
    }
]


但是当我对nodejs mongo client执行相同操作时,会出现错误。

var cursor = collection.find().limit(1);
cursor.toArray( function(){ .. my callback .. });
cursor.count();


看起来


未在光标上定义count
一旦在光标上应用了toArray,就无法再次使用光标


如何使用nodejs直接在mongo中完成相同的工作?

最佳答案

正如其他人所说,如果要对项目进行总计,然后对数据进行两次查询,则别无选择。为什么要关注创建两个查询?

07-25 20:43