Выполнить вложенный запрос данных Монго Sping, используя два или более параметров, используя MongoRepository? - PullRequest
0 голосов
/ 14 марта 2019

Как выполнить вложенный запрос в MongoDB для еще двух полей? У меня есть документ JSON, как показано ниже, и я собираюсь выполнить запрос с использованием sample2Cd и sample3Cd. Как мы можем это сделать?

Я мог написать так, но это не работает !!

Currency findByCountries_Sample2CdAndsample3CdAndNumberCode

Вот мой документ

{
    "_id" : ObjectId("5c8a65026161ce4970e85035"),
    ..........
    ..............
    "countries" : [ 
        {
            .......
            "sample2Cd" : "AB",
            "sample3Cd" : "ABC",
            "numberCode" : "1"
            ......
        }
    ]
}

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Мне удалось решить эту проблему с помощью проекции @ Query . Вот, пожалуйста!

@Query(value = "{'countries.sample2Cd' : ?0, 'countries.sample3Cd' ?1 }")
List<Currency> findByCountriesSample2CdAndSample3Cd(String param1,String param2);

Примечание. Аналогичным образом вы можете задать несколько параметров, сформировать запрос и получить результат.

0 голосов
/ 16 марта 2019

Вы можете написать spring repo метод, как показано ниже.

List<Currency> findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);

Если комбинация будет уникальной , тогда вы можете изменить тип возвращаемого значения на объект вместо списка, как показано ниже.

Currency findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);
...