如何在 MongoDb for C# 中链接组表达式?

How do I chain Group expressions in MongoDb for C#?

提问人:digital_fate 提问时间:11/14/2023 更新时间:11/14/2023 访问量:25

问:

我是 MongoDb 的新手,我正在尝试使用 C# 驱动程序从查询中返回某些属性的唯一值计数。

我可以对每个字段单独执行此操作,如下所示:

    var property1Counts = await _database
      .Aggregate()
      .Match(filters)
      .Group(id => new Temp { Id = id.Property1 },
        group =>
        new
        {
          Name = "Property1",
          Id = group.Key,
          Count = group.Sum(u => 1)
        })
      .ToListAsync();

    var property2Counts = await _database
      .Aggregate()
      .Match(filters)
      .Group(id => new Temp { Id = id.Property2 },
        group =>
          new
          {
            Name = "Property2",
            Id = group.Key,
            Count = group.Sum(u => 1)
          })
      .ToListAsync();

我需要对模型上的多个属性做同样的事情,我不禁觉得这种方式效率低下,因为基本上多次运行相同的查询。Match

有没有办法让我在 C# 中对同一个聚合查询运行多个操作?Group

我一直在寻找几天,似乎应该是可能的:https://www.mongodb.com/community/forums/t/how-to-perform-multiple-group-bys-in-a-aggregation-query/6164/2

我只是无法弄清楚如何在 C# 中做到这一点。

C# mongoDB 聚合框架

评论

0赞 dododo 11/14/2023
您可以在 C# 中指定任何原始 MQL 查询,有关详细信息,请参阅此处 stackoverflow.com/questions/68395490/...

答: 暂无答案