如何从 MongoDB 访问 List<KeyValuePair<string,int>>

How can I access List<KeyValuePair<string,int>> from MongoDB

我正在 MongoDB 中存储具有以下定义的记录:

public class StorageRecord
{
    public int GrId { get; set; }
    public List<KeyValuePair<string,int>> Data { get; set; }
}

和下面这样的示例:

var storageRecord = new StorageRecord
{
GrId = 12,
Data = new List<KeyValuePair<string, int>>()
    {
        new KeyValuePair<string, int>("xx", 12),
        new KeyValuePair<string, int>("yy", 13),
        new KeyValuePair<string, int>("zz", 14)
    }
}

请告诉我应该如何编写查询来检索所有记录的 Sum,这些记录在 [=18= 的 Data 列表中具有例如 xx 键].

我从以下语句开始,但不知道接下来应该是什么:

var TotalXX = collection
            .Where(r => r.GrId == grId)
            .GroupBy(t => t.GrId)
            .Select(v => v.Select(c => c.Data));

我认为你不需要 GroupBy:

var TotalXX = collection
   .Where(storage => storage.GrId == grId)
   .Sum(storage => storage.Data.Count(kv => kv.Key == "xx"));