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