10
我有一个集合名称Alpha_Num,它具有以下结构。我正试图找出哪个字母数字对会出现最大次数?从MongoDB中的数组中选择不同的值
如果我们只使用下面的数据,pair abcd-123会出现两次,因此对efgh-10001,但是第二个对我来说不是一个有效的情况,因为它出现在同一个文档中。
{
"_id" : 12345,
"Alphabet" : "abcd",
"Numerals" : [
"123",
"456",
"2345"
]
}
{
"_id" : 123456,
"Alphabet" : "efgh",
"Numerals" : [
"10001",
"10001",
"1002"
]
}
{
"_id" : 123456567,
"Alphabet" : "abcd",
"Numerals" : [
"123"
]
}
我试图用聚合框架的工作,类似下面
db.Alpha_Num.aggregate([
{"$unwind":"$Numerals"},
{"$group":
{"_id":{"Alpha":"$Alphabet","Num":"$Numerals"},
"count":{$sum:1}}
},
{"$sort":{"count":-1}}
])
问题在此查询是它提供了对EFGH-10001的两倍。 问题:如何在上述条件中从数组“数字”中选择不同的值?