Как использовать elemMatch в Springboot для запроса элемента массива так, чтобы у массива был только один столбец, а у столбца нет имени поля? - PullRequest
0 голосов
/ 11 июля 2019

Таблица, которую я имею, имеет следующую форму

{ 
    "element_1": 1, 
    "element_2": 1,
    "elements":[
        "ele_1", "ele_2", "ele_3", "ele_4"
    ]
},
{ 
    "element_1":2, 
    "element_2":2, 
    "elements":[ 
        "ele_5", "ele_6", "ele_7", "ele_8"
    ]
},
{ 
    "element_1": 3,
    "element_2": 3,
    "elements": [ 
        "ele_9", "ele_10", "ele_11", "ele_12"
    ]
}

Здесь я хотел запросить документ, содержащий элемент ele_1 в поле elements, чтобы использовать команду java

Query query = new Query("Required Criteria");

документ, который должен быть возвращен, должен быть

{ 
    "element_1": 1, 
    "element_2": 1,
    "elements":[
        "ele_1", "ele_2", "ele_3", "ele_4"
    ]
}

Я хотел бы еще раз отметить, что массивы в поле "elements" имеют без имени поля следовательно, предоставление ключевого параметра при построении объекта Criteria невозможно.Как получить требуемый результат?

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете просто написать:

Query query = new Query("{'elements' : 'ele_1'}");

Вам не нужно $elemMatch

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