繁体   English   中英

如何使用空值查询文档MongoRepository Spring Data MongoDB

[英]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只能为truefalsenull ,则可以尝试

@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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM