Adobe cq5查询构建器 - 在日期范围内获取多个属性

时间:2014-08-18 14:47:12

标签: adobe cq5 query-builder

我使用查询根据属性cq:lastModifiedjcr:created搜索用户 在特定的日期范围内 该查询应返回上次在daterange之间修改的用户,如果最后修改的属性不存在,则应在该日期范围内返回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')) 
]
&#39>&#39;&#39;&#39;粗体应该实际上是&#39;或&#39;

请帮忙

1 个答案:

答案 0 :(得分:2)

使用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

在Query Builder API中,p.or中的p是一个特殊的分隔符,表示后面的内容(在本例中为an或)是该组的参数,而不是该组的子预测,例如1_daterange。

如果没有给出p.or,那么所有谓词都是ANDed

要了解有关查询的详情,请参阅this docs page