我想动态添加原始目录名称为 加载文件时收集。
假设具有以下文件:/home/sampledata/dir1/targetfile.xml 我希望targetfile.xml包含在以下集合中: “ home”,“ sampledata”,“ dir1”
在通过MLCP导入时,我们可以这样做吗? 如果有人可以分享通过脚本实现的替代方法,将不胜感激。
答案 0 :(得分:1)
我建议使用MLCP转换。它最常用于在插入之前操纵内容,但是您也可以使用它来调整uri,集合等。
有关MLCP转换的一般详细信息,请参见:https://docs.marklogic.com/guide/mlcp/import#id_82518
有关变换输出选项的更多详细信息,请参阅:https://docs.marklogic.com/guide/mlcp/import#id_59764
HTH!
答案 1 :(得分:1)
您可以使用以下查询:
let $dir-seprator := "/"
for $uri in cts:uri-match("*")[fn:ends-with(.,'.xml')][1 to 10]
let $collection := fn:substring-before($uri,fn:tokenize($uri,$dir-seprator)[fn:last()])
return
xdmp:document-set-collections($uri,fn:tokenize($collection,$dir-seprator)[.!='']))