Как сопоставить значение свойству после сопоставления, основываясь на том, существует ли значение в подмассиве? - PullRequest
0 голосов
/ 13 февраля 2019

В качестве примера у меня есть следующая коллекция.

{
"_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 для этого документа.

Есть ли способ сделать это без разматывания каждого массива?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...