Я не уверен, что вы можете выполнить такой запрос, используя имя метода данных Spring. Поскольку ваш запрос будет оцениваться как _id == "id" AND isActive == false OR isActive == null
, а не _id == "id" AND ( isActive == false OR isActive == null )
.
Если случайно isActive
может быть только true
, false
или null
, вы можете попробовать
@RestResource(rel = "findInactiveOrders", path = "findInactiveOrders")
Order findByIdAndIsActiveNot(@Param("id"), true)
В противном случае вам потребуется использовать другой метод запроса, предоставляемый Spring data mongodb, такой как MongoTemplate
вспомогательный класс или @Query
аннотация.
@ Аннотация запроса
@RestResource(rel = "findInactiveOrders", path = "findInactiveOrders")
@Query("{$and: [{'_id': :#{#id}}, $or: [{ 'isActive':false}, {'isActive': null}]]}")
Order findByIdAndIsActiveNot(@Param("id"))