MongoDB возвращает только совпадающий вложенный документ - PullRequest
0 голосов
/ 05 сентября 2018

enter image description here

Учитывая приведенную выше структуру документа, в mongodb, как вы, ребята, фильтруете конкретный терминал, чей идентификатор соответствует данному параметру?

1 Ответ

0 голосов
/ 05 сентября 2018

Предполагается, что ваш JSON выглядит следующим образом:

{
    "Merchant_Account":"Merchant Name",
    "ID":"MA1",
    "Card_Acceptor":[{
        "ID":"CA1",
        "Vendor_ID":{
            "ID":"VID1"
        },
        "Terminal_ID":[
            "TID1",
            "TID2",
            "TID3"
        ]
    }]
}

Вы можете получить этот документ, используя следующее в Mongo Shell:

db.collection.find({"Card_Acceptor":{$elemMatch:{Terminal_ID:"TID1"}}})

Возвращает весь документ, в котором идентификатор терминала совпадает в массиве идентификаторов терминала. Ключом здесь является оператор запроса массива $ elemMatch .

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