2015-04-21 70 views
1

我知道Mongodb for Linq不支持操作!
因此,我发现LINQ中的Mongo C#驱动程序组为group by
我已经阅读了mongo-csharp-driver的例子,但是这些不是带有过滤的组例子。
请告诉我,谢谢。如何过滤Mongo C#驱动程序中的集合?

这是我的代码。

var Table = DatabaseLinq.GetCollection<Model.Urls>(TableName).FindAll().AsQueryable(); 
var queryData = (from item in Table 
     group item by item.Url) 
     .OrderByDescending(p => p.Sum(x => x.ViewsCount)) 
     .Skip((PageIndex - 1) * PageSize) 
     .Take(PageSize); 

这是我的群组,但是如何在此处添加过滤器?

+0

这是我的分组,但是,如何添加过滤器? –

回答

1

可以使用Find()代替.FindAll()方法添加过滤器,这样的:

var Table = DatabaseLinq.GetCollection<Model.Urls>(TableName) 
    .Find(Query<Model.Urls>.EQ(x => x.Url, "Ken")).AsQueryable(); 
var queryData = (from item in Table 
     group item by item.Url) 
     .OrderByDescending(p => p.Sum(x => x.ViewsCount)) 
     .Skip((PageIndex - 1) * PageSize) 
     .Take(PageSize); 
+0

谢谢!!!!!!!!!! –

+0

什么是查询程序集? – Elaine

+0

[This is legacy now](http://api.mongodb.com/csharp/current/html/M_MongoDB_Driver_Builders_Query_EQ.htm) – VMAtm

0
var Filter = new BsonDocument("ProductName", "WH-208"); 
var list = await collection.Find(Filter).ToListAsync(); 

在上述线“产品名称”是键,“WH-208”是值以搜索。

Refference

相关问题