В качестве примера у меня есть следующая коллекция.
{
"_id" : ObjectId("5c5aa5e12fb0e2732b08f862"),
"leg" : [
{
"_id" : ObjectId("5c5e3df3e9a0b65bdae1d981"),
"legNumber" : 1,
"legDepAirportCode" : "TLV",
"legDepAirportName" : "TEL AVIV",
"legDestAirportCode" : "ATH",
"legDestAirportName" : "ATHENS",
"Sectors" : [
{
"_id" : ObjectId("5c5c618ce9a0b65bdade67b6"),
"PhysicalSectorNumber" : "1",
"ConnectionIndicator" : "X",
"sectorCabin" : "ECONOMY",
},
{
"_id" : ObjectId("5c5c618ce9a0b65bdade67b5"),
"PhysicalSectorNumber" : "2",
"ConnectionIndicator" : "X",
"sectorCabin" : "BUSINESS",
},
]
},
{
"_id" : ObjectId("5c5e3df3e9a0b65bdae1d97f"),
"legNumber" : 2,
"legDepAirportCode" : "ATH",
"legDepAirportName" : "ATHENS",
"legDestAirportCode" : "TLV",
"legDestAirportName" : "TEL AVIV",
"Sectors" : [
{
"_id" : ObjectId("5c5e3df3e9a0b65bdae1d980"),
"PhysicalSectorNumber" : "2",
"ConnectionIndicator" : "O",
"sectorCabin" : "ECONOMY",
}
]
}
],
"__v" : 0
}
Каждый документ в моей коллекции может содержать несколько ветвей, и эти ветки могут иметь несколько секторов.То, что я хотел бы сделать, это проверить, какой самый высокий sectorCabin для каждого документа во всех участках и секторах.Я попытался размотать секторы и ноги, но я не хочу, чтобы документы были разделены.Я просто хочу знать, какой самый высокий sectorCabin для этого документа.
Так что в приведенном выше примере Business является более высоким классом, чем Экономика , поэтому я хотел бы вернуть Business для этого документа.
Есть ли способ сделать это без разматывания каждого массива?