有没有办法将默认查询添加到 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 方法不支持 ORAND 子句。

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);