monogdb中是否有任何方法可以使用不同的密钥对所有值进行分组。以下是我的数据结构:
所以我的问题是如何计算0/0
0/1
次发生的所有时间?我用谷歌搜索了一段时间,所有答案都是用同一个键得到的。但你可以看到我的样品内的样品不一样。所以任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以在3.4中尝试以下聚合。
使用$objectToArray
将对象转换为键值对的数组,然后按$unwind
和$group
对值进行计数。
db.col.aggregate([
{"$addFields":{"samples":{"$objectToArray":"$samples"}}},
{"$unwind":"$samples"},
{"$group":{"_id":"$samples.v","count":{"$sum":1}}}
])