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