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



我使用以下定义存储在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,例如xxKeyValuePair列表中的Data键。

我从以下陈述开始,但不知道下一步应该是什么:

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"));