spring-data-mongo-可选查询参数?

spring-data-mongo-可选查询参数?,第1张

spring-data-mongo-可选查询参数?

为了以布尔逻辑实现这一点,我执行以下 *** 作并将其转换为编程语言中可用的 *** 作

:query != null -> field == :query!(:query != null) || (field == :query)(:query == null) || (field == :query)

在普通的SQL中,这是通过

where (null = :query) or (field = :query)

在MongoDB中,这是通过$ where完成的

{ $where: '?0 == null || this.field == ?0' }

通过使用Mongo Operations,我们可以 稍微 加快速度,而不是以牺牲一些可读性为代价来构建该函数的所有内容。不幸的是无法正常工作。

{ $or : [ { $where: '?0 == null' } , { field : ?0 } ] }

所以你拥有的是

@Query("{ $or : [ { $where: '?0 == null' } , { field : ?0 } ] }")List<Something> findAll(String query, Pageable pageable);

可以进一步扩展以处理in / all子句的数组

@Query("{ $or : [ { $where: '?0.length == 0' } , { field : { $in : ?0 } } ] }")List<Something> findAll(String query, Pageable pageable);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5438852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存