У меня есть имя коллекции Alpha_Num, оно имеет следующую структуру. Я пытаюсь выяснить, какая пара алфавит-цифры будет появляться максимальное количество раз?
Если мы просто воспользуемся приведенными ниже данными, пара 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. Вопрос: Как выбрать отдельные значения из массива «Числа» в приведенном выше условии?