如何在MongoDB中为另外两个字段执行嵌套查询?我有如下的JSON文档,希望同时使用sample2Cd和sample3Cd进行查询。我们该怎么做?
我能够这样写,但这行不通!
Currency findByCountries_Sample2CdAndsample3CdAndNumberCode
这是我的文档
{
"_id" : ObjectId("5c8a65026161ce4970e85035"),
..........
..............
"countries" : [
{
.......
"sample2Cd" : "AB",
"sample3Cd" : "ABC",
"numberCode" : "1"
......
}
]
}
答案 0 :(得分:0)
您可以编写如下的spring repo
方法。
List<Currency> findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);
如果组合将唯一,则可以将返回类型更改为object,而不是如下所示的列表。
Currency findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);
答案 1 :(得分:0)
我能够通过使用 @Query 投影解决此问题。给你!
@Query(value = "{'countries.sample2Cd' : ?0, 'countries.sample3Cd' ?1 }")
List<Currency> findByCountriesSample2CdAndSample3Cd(String param1,String param2);
注意:同样,您可以使用多个参数来构成查询并获取结果。