如何在内容存储库中获取文件的nodeRef?

时间:2016-09-05 12:15:55

标签: alfresco

我需要知道文件的nodeRef知道磁盘上的文件。

实施例: 我在磁盘上有一个文件2016/6/1/8/0/087dabc7-6b5b-4840-8f3a-d45a55735fac.bin。 我想到这个文件里面的文件的nodeRef。

我知道这个文件的路径保存在节点的cm:content属性中,但是我不想获取所有文档然后迭代它们直到我找到正确的文件。是否有一种不成功的方式(从性能角度来看)呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

.bin文件的nodeRef和名称不是同一个字符串。因此,您不能只获取文件的名称并将其作为nodeRef,AFAIK。

你可以做的一件事就是查询数据库(不幸的是我现在没有露天,所以我无法测试查询,但它应该是这样的):

with tt as(
    select node_id 
    from alf_node_properties 
    where string_value like '%file-name.bin%')
select * from tt, alf_node
where tt.node_id = alf_node.node_id

在结果中你有uuid,即nodeRef。

您可以做的另一件事是向CMIS查询同时创建的文件,在您的情况下,即2016年6月1日上午8点。