我正在使用如下的“查询”构建器来获取属性中使用该组件(组件名称将作为参数传递)的不同页面的列表。我需要传递两个参数cq:lastReplicationAction=Activate
和sling:resourceType=component
路径。我尝试了上面的JSON查询但没有结果,并且它失败了,因为该组件可以在页面节点的任何级别使用。例如,/jcr:content/par/component
或/jcr:content/par/mainpar/component
答案 0 :(得分:2)
组件放在页面的par节点下,Replication属性是页面JCR节点的一部分。这就是你的查询返回0结果的原因。试试这个问题:
app.get('/insertNewMessage', function(req, res) {
db.collection("messages").findOneAndUpdate({
_id: new ObjectID('56aa3554e90911b64c36a424')
}, {
$push: {
messages: {
_id: new ObjectID(),
message: "From NodeJS with <3 using findOneAndUpdate.Bye."
}
}
}, function(err, result) {
if (err)
res.json(err);
else
res.json(result);
});
});
我使用了以下属性来查找组件: jcr:content / par / * / sling:resourceType 如果par节点名称不同,则使用par节点的正确名称。
答案 1 :(得分:0)
xpath查询可用于获取使用组件的页面。
使用http://AEM-AUTHOR-HOST/crx/de/index.jsp转到CRXDELight,打开工具 - &gt;查询。将查询放入查询框:
/jcr:root/content//*[jcr:contains(@sling:resourceType, 'COMPONENT_NAME/PATH')] order by @jcr:score
如果您知道组件的确切路径,请使用以下查询。
/jcr:root/content//*[@sling:resourceType = 'COMPONENT_PATH'] order by @jcr:score
它将返回正在使用您的组件的内容节点的路径列表。您可以在/jcr:content
之前拆分每个路径以获取确切的页面路径。