【发布时间】:2017-09-19 17:12:49
【问题描述】:
我需要计算集合中所有文档的总数。比如我有以下三个文件:
_id: 1,
clientId: 1,
cash: 500
_id: 2,
clientId: 1,
cash: 100
_id: 3,
clientId: 2,
cash: 200
所以,我想对特定 clientId 的 cash 字段求和。对于客户 1,我想获得 600,对于客户 2,我想获得 200。这是我第一次使用 MongoDB 中的聚合框架。我检查了来自 SO 的文档和其他问题,但不知道为什么我必须使用 group 子句。如果只是想求和,我为什么需要它。我尝试使用Group,但无法编译:
_collection.Aggregate().Match(t=>t.ClientId == 1).Group(null, g => new
{
Total = g.Sum(o => o.Cash)
});
方法 'Group' 没有重载需要 2 个参数
附言。我不想使用BsonDocument 和$sum 之类的关键字。我想用更多的 C# 方式来制作它。
【问题讨论】: