我知道Linq的Mongodb不支持组操作!
因此,我在LINQ中找到了带有Mongo C#驱动程序的组group by
我已经阅读过mongo-csharp-drivers示例,但这些不是带过滤的组示例
请告诉我,谢谢。
这是我的代码。
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);
答案 1 :(得分:0)
var Filter = new BsonDocument("ProductName", "WH-208");
var list = await collection.Find(Filter).ToListAsync();
在上面的行中,'ProductName'是KEY,'WH-208'是要搜索的值。