Adobe cq5 查询生成器 - 获取日期范围内的多个属性

标签 adobe aem query-builder

我正在使用基于属性 cq:lastModifiedjcr:created 的查询来搜索用户 在特定日期范围内 查询应返回在日期范围之间最后修改的用户,如果最后修改的属性不存在,则应返回该日期范围内的jcr:created

请告诉我如何做到

在调试器中,我使用这个,但请找到下面的路径。我想要 OR 而不是 AND

path = /home/users
type=rep:User

1_daterange.property=jcr:created
1_daterange.lowerBound=2014-08-18
1_daterange.upperBound=2014-08-19

2_daterange.property=cq:lastModified
2_daterange.lowerBound=2014-08-18
2_daterange.upperBound=2014-08-19



/jcr:root/home/users//element(*, rep:User)
[
(@jcr:created > xs:dateTime('2014-08-18T00:00:00.000+05:30')
and @jcr:created < xs:dateTime('2014-08-19T00:00:00.000+05:30')) 
***AND*** (@cq:lastModified > xs:dateTime('2014-08-18T00:00:00.000+05:30')
and @cq:lastModified < xs:dateTime('2014-08-19T00:00:00.000+05:30')) 
]

粗体的“and”实际上应该是“or”

请帮忙

最佳答案

使用groups搜索多个属性,使用group.p.or指定OR条件

path=/home/users
type=rep:User

group.1_daterange.property=jcr:created
group.1_daterange.lowerBound=2014-08-18
group.1_daterange.upperBound=2014-08-19

group.2_daterange.property=cq:lastModified
group.2_daterange.lowerBound=2014-08-18
group.2_daterange.upperBound=2014-08-19

group.p.or=true

在查询生成器 API 中,p.or 中的 p 是一个特殊的分隔符,指示后面的内容(在本例中为 or)是组的参数,而不是组,例如 1_daterange。

如果没有给出p.or,那么所有谓词都会ANDed在一起。

要了解有关查询的更多信息,请参阅this docs page .

关于Adobe cq5 查询生成器 - 获取日期范围内的多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366115/

相关文章:

osgi - 无法在 CQ5 中发布 bundle

mysql - 为什么 Laravel 闭包中 undefined variable ?

apache-flex - Adobe AIR Flex/Actionscript URLLoader 与 HTTPService(异步 token 和 Windows 代理设置)

linux - 如何以编程方式突出显示 PDF 文件的某些部分(例如,使用命令行)

javascript - 在 adobe animate 时间轴内创建函数( Action )

java - 如何通过 aem 对话框替换 osgi 配置属性

javascript - Adobe Flex 还值得学习吗?

maven - 无法执行目标 org.apache.felix :maven-scr-plugin:1. 17.0:scr

java - Java QueryBuilders 的嵌套 Elasticsearch 查询

php - 左连接在 Laravel 中获得一行