我想通过一个查询从 cmis 1.0 兼容存储库中过滤文件夹的子级。到目前为止,这似乎不可能,所以我决定执行两个查询来检索子项(即文件夹和文档),但是仍然想按自定义类型过滤子项,因此我有以下查询:
SELECT cmis:objectTypeId, cmis:objectId FROM cmis:folder WHERE cmis:objectTypeId = 'my:custom1' OR cmis:objectTypeId = 'my:custom2' OR cmis:objectTypeId = 'cmis:folder' IN_FOLDER('workspace://SpacesStore/fhj738tw-45hW-659u-9DS1-9cX3Nh95r089')
这不起作用,因为我不断收到有关输入不匹配的错误。
我使用这个查询是为了获取特定的孩子folder
String query;
query = "SELECT * FROM cmis:document WHERE IN_FOLDER('" + folderId + "')";
并让所有的孩子
ItemIterable<QueryResult> resultList = session.query(query, false);// No need to say about session ???
最后
for (QueryResult qr : resultList) {
String idDocument = qr.getPropertyByQueryName("cmis:objectId").getFirstValue().toString();
Document doc = (Document) session.getObject(idDocument);
}
请注意,在我的示例中我只得到cmis:objectId
你可以从中得到更多管理信息系统查询 https://wiki.alfresco.com/wiki/CMIS_Query_Language
希望这会对您有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)