[英]How to query documents with null values MongoRepository Spring Data MongoDB
我无法在Spring Data MongoDB中将值初始化为false,因此在查询中,我想搜索字段设置为false或null的文档。
以下代码段似乎无效:
@RestResource(rel = "findInactiveOrders", path = "findInactiveOrders")
Order findByIdAndIsActiveFalseOrIsActiveNull(@Param("id"))
我不确定您可以使用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数据mongodb提供的其他查询方法,例如MongoTemplate
帮助器类或@Query
注释。
@Query批注
@RestResource(rel = "findInactiveOrders", path = "findInactiveOrders")
@Query("{$and: [{'_id': :#{#id}}, $or: [{ 'isActive':false}, {'isActive': null}]]}")
Order findByIdAndIsActiveNot(@Param("id"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.