Есть ли способ добавить запрос по умолчанию в репозиторий mongo?

#java #spring #mongodb #mongorepository

#java #весна #mongodb #mongorepository

Вопрос:

Скажем, у нас есть класс с именем person

 public class Person{ 
   private String name;
   private boolean active; 
}
  

Когда я вызываю personRepository.findByName("John Doe") , результатом должны быть объекты с именем John Doe и active is True . Между тем, когда personRepository.findByNameAndActive("John Doe", false) , он должен возвращать результат всех объектов с John Doe и active = false

Есть ли какой — нибудь способ сделать это?

Ответ №1:

К сожалению, методы MongoRepository по умолчанию не поддерживают предложения OR или AND .

Поддерживаемые ключевые слова для методов запроса

Но вы можете использовать аннотацию @Query, чтобы определить, что должно быть сделано этим методом:

 @Query("{ 'name' : ?0, 'active' : true }")
Person findByName(String name);

@Query("{ 'name' : ?0, 'active' : ?1 }")
Person findByNameAndActive(String name, boolean active);