Итак, я пытаюсь выяснить, сколько раз каждый кайт пролетал на каждом человеке, БД выглядит так:
{
"_id" : ObjectId("5bccf4d7ac8fa95f43a964c2"),
"KITE" : {
"registration" : "DTH498"
}
}
{
"_id" : ObjectId("5bccf4d7ac8fa95f43a964c3"),
"KITE" : {
"registration" : "HKJ607"
}
}
{
"_id" : ObjectId("5bccf4d7ac8fa95f43a964c4"),
"KITE" : {
"registration" : "GCF21"
}
}
{
"_id" : ObjectId("5bccf4d7ac8fa95f43a964cf"),
"PERSON" : {
"name" : "H.Y",
"used" : [
{
"registration" : "DTH498"
},
{
"registration" : "HKJ607"
},
{
"registration" : "GCF21"
}
]
}
}
{
"_id" : ObjectId("5bccf4d7ac8fa95f43a9leo5"),
"PERSON" : {
"name" : "T.G",
"used" : [
{
"registration" : "DTH498"
},
{
"registration" : "HKJ607"
},
{
"registration" : "GCF21"
}
]
}
}
{
"_id" : ObjectId("5bccf4d7ac8fro4943a01pak"),
"PERSON" : {
"name" : "X.L",
"used" : [
{
"registration" : "DTH498"
},
{
"registration" : "HKJ607"
},
{
"registration" : "GCF21"
}
]
}
}
В настоящее время я могу использовать только структуру агрегации, с этим сказаноМне удалось перечислить все использованные воздушные змеи:
db.data.aggregate([
{"$unwind":"$PERSON.used"},
{"$group":{"_id":"$PERSON.used.registration"}}
]).pretty();
Результат, к которому я пытаюсь добраться, будет иметь регистрацию воздушного змея и общее количество его использований.
Я не уверен, как бы это выглядело, но я думаю: 1. Каким-то образом перенести все зарегистрированные объекты массива в новый массив, чтобы он представлял собой один большой список всех случаев использования каждого кайта 2.Сгруппируйте массив по регистрации и используйте сумму для отображения количества дубликатов в каждой группе.