X-Query 或 Node-JS 客户端 API 中是否有任何功能可以获取 Marklogic 9 中的目录列表或文件的分层视图?
问问题
101 次
2 回答
1
MarkLogic 中的目录只是文档 URI 所反映的约定。
数据库中不存在与目录对应的资源(WebDav 的边缘情况除外)。
正如 Tamas 在他的评论中暗示的那样,您可以编写一个 XQuery 或 JavaScript 函数来
- 从 URI 词典中读取 URI
- 种类
- 将 / 上的 URI 标记为 URI 步骤
- 对构建层次结构的步骤进行分组
希望有帮助,
于 2017-10-05T16:09:35.947 回答
0
developer.marklogic.com 上有一个应该有帮助的食谱:http: //developer.marklogic.com/recipe/list-directory-count
declare function local:map-uris($uris as xs:string*)
{
let $map := map:map()
let $_ :=
for $uri in $uris
let $toks := fn:tokenize($uri, "/")
for $t at $i in fn:subsequence($toks, 1, fn:count($toks) - 1)
let $key := fn:string-join($toks[1 to $i], "/") || "/"
let $count := (map:get($map, $key), 0)[1]
return map:put($map, $key, ($count + 1) )
return $map
};
local:map-uris(cts:uris())
于 2017-10-05T16:16:10.743 回答