mongodb分组查询 C#
时间: 2023-10-07 15:10:54 浏览: 174
要C#中进行MongoDB的分组查询,可以使用MongoDB .NET Driver提供的聚合框架。以下是一个示例代码,演示了如何执行分组查询:
```csharp
using MongoDB.Bson;
using MongoDB.Driver;
public class GroupExample
{
public void GroupByField(string collectionName, string groupField)
{
var client = new MongoClient("mongodb://localhost:27017");
var database = client.GetDatabase("your_database_name");
var collection = database.GetCollection<BsonDocument>(collectionName);
var groupStage = new BsonDocument
{
{ "$group", new BsonDocument
{
{ "_id", $"${groupField}" },
{ "count", new BsonDocument("$sum", 1) }
}
}
};
var pipeline = new[] { groupStage };
var result = collection.Aggregate<BsonDocument>(pipeline).ToList();
foreach (var document in result)
{
var fieldValue = document["_id"];
var count = document["count"];
// 处理分组结果
}
}
}
```
在上述示例代码中,`GroupByField`方法接受两个参数:`collectionName`表示要查询的集合名称,`groupField`表示要根据哪个字段进行分组。
请注意,你需要将`your_database_name`替换为实际的数据库名称,并根据你的数据模型调整`BsonDocument`的结构。
阅读全文