2014-09-13 48 views
0

我在本地客户端使用节点和mongo。Nodejs mongo返回带分页信息的数据

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

要获得分页,我需要我的回复总是返回count一起data

我希望得到的东西,如:

{ 
    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客户端执行相同的操作时,我会遇到错误。

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

似乎

  • count不上的光标
  • ,一旦我申请上的光标toArray定义,如何使用的NodeJS我不能再使用光标

,我能直接用mongo完成同样的事情吗?

+0

您正在使用哪个'client'? – Ravi 2014-09-13 09:12:55

+0

native nodejs mongo客户端。我在第一句中说出来。 – 2014-09-13 09:54:38

+0

@Ravi - 不确定你是否收到我的回复通知..所以我添加了这条评论。 – 2014-09-13 10:14:41

回答

1

正如其他人所说,如果你想有一个项目的总数,然后数据,你将需要有两个查询,没有其他方式。你为什么关心创建两个查询?

+1

总是试图改善.. – 2015-10-28 20:39:10