使用 MongoRepository 使用两个或更多参数执行 Sping Data Mongo 嵌套查询?
Perform Sping Data Mongo Nested Query using two or more parameters using MongoRepository?
如何在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);
如果组合是 唯一的,那么您可以将 return 类型更改为对象,而不是如下所示的列表。
Currency findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);
我使用 @Query 投影解决了这个问题。给你!
@Query(value = "{'countries.sample2Cd' : ?0, 'countries.sample3Cd' ?1 }")
List<Currency> findByCountriesSample2CdAndSample3Cd(String param1,String param2);
注意:同样,您可以使用多个参数并形成查询并获得结果。
如何在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);
如果组合是 唯一的,那么您可以将 return 类型更改为对象,而不是如下所示的列表。
Currency findByCountriesSample2CdAndCountriesSample3CdAndCountriesNumberCode(String param1,String param2, String param3);
我使用 @Query 投影解决了这个问题。给你!
@Query(value = "{'countries.sample2Cd' : ?0, 'countries.sample3Cd' ?1 }")
List<Currency> findByCountriesSample2CdAndSample3Cd(String param1,String param2);
注意:同样,您可以使用多个参数并形成查询并获得结果。