有没有办法将默认查询添加到 mongo 存储库?
Is there way to add default query to mongo repository?
说,我们有一个 class 命名的人
public class Person{
private String name;
private boolean active;
}
当我调用 personRepository.findByName("John Doe")
时,结果应该是名为 John Doe 的对象,活动对象是 True
。同时,当 personRepository.findByNameAndActive("John Doe", false)
时,它应该 return 所有带有 John Doe 和 active = false 的对象的结果
有什么办法吗?
不幸的是,默认的 MongoRepository 方法不支持 OR 或 AND 子句。
Supported keywords for query methods
但是你可以使用一个@Query注解来定义这个方法应该做什么:
@Query("{ 'name' : ?0, 'active' : true }")
Person findByName(String name);
@Query("{ 'name' : ?0, 'active' : ?1 }")
Person findByNameAndActive(String name, boolean active);
说,我们有一个 class 命名的人
public class Person{
private String name;
private boolean active;
}
当我调用 personRepository.findByName("John Doe")
时,结果应该是名为 John Doe 的对象,活动对象是 True
。同时,当 personRepository.findByNameAndActive("John Doe", false)
时,它应该 return 所有带有 John Doe 和 active = false 的对象的结果
有什么办法吗?
不幸的是,默认的 MongoRepository 方法不支持 OR 或 AND 子句。
Supported keywords for query methods
但是你可以使用一个@Query注解来定义这个方法应该做什么:
@Query("{ 'name' : ?0, 'active' : true }")
Person findByName(String name);
@Query("{ 'name' : ?0, 'active' : ?1 }")
Person findByNameAndActive(String name, boolean active);