2011-07-11 38 views
3

使用MongoDb NORM驱动程序,是否有人知道是否可以将光标移到类似于下面的“查询”集合中,以便可以检索文档的“页面”查询文件的总数量?MongoDb NORM - 分页和总文档

> var j = db.People.find().skip(2).limit(2) 
> j.count() 
13 
> j 
{ "_id" : NumberLong(25), "Name" : "Ted" } 
{ "_id" : NumberLong(26), "Name" : "Tom" } 

正如我认为以下执行MongoDbquery两次......

totalItems = peopleCollection.Count(queryExpando); 

peopleList = peopleCollection.Find(queryExpando, orderByExpando, pageSize, startIndex).ToList(); 

回答

0

我不知道是否有另一种方式,但你也许可以使用LINQ到你所需要的:

var allItems = peopleCollection.AsQueryable(); 
var count = allItems.Count(); 
var peopleList = allItems 
       .Where(p => p.Field == fieldValue) 
       .OrderBy(p => p.OrderByField) 
       .Skip(startIndex) 
       .Take(pageSize);