MarkLogic 9 查询中的多个集合
MarkLogic 9 multiple collections in the query
如何使用 cts:uris() 从 Marklogic 9 中的多个集合中获取 uri。
查询返回一个空序列
let $u := cts:uris((),(),cts:and-query((cts:collection-query("/lib/info"),
cts:collection-query("/lib/top10"),
cts:element-value-query(xs:QName("function"),"stats")
))
)
return $u
您想要同时包含两个集合还是其中一个的文档?像您一样使用 and-query
意味着它只会 return 具有两者的文档。将其转换为 or-query
并可能用 and-query
将其全部包装起来。为简单起见,您还可以将序列传递给 collection-query
以匹配任何序列。最后,您不需要 let
和 return
,对于大型结果集,摆脱它们可以让服务器流而不是缓冲区。
cts:uris((),(),
cts:and-query((cts:collection-query(("/lib/info","/lib/top10")),
cts:element-value-query(xs:QName("function"),"stats")
))
)
如何使用 cts:uris() 从 Marklogic 9 中的多个集合中获取 uri。 查询返回一个空序列
let $u := cts:uris((),(),cts:and-query((cts:collection-query("/lib/info"),
cts:collection-query("/lib/top10"),
cts:element-value-query(xs:QName("function"),"stats")
))
)
return $u
您想要同时包含两个集合还是其中一个的文档?像您一样使用 and-query
意味着它只会 return 具有两者的文档。将其转换为 or-query
并可能用 and-query
将其全部包装起来。为简单起见,您还可以将序列传递给 collection-query
以匹配任何序列。最后,您不需要 let
和 return
,对于大型结果集,摆脱它们可以让服务器流而不是缓冲区。
cts:uris((),(),
cts:and-query((cts:collection-query(("/lib/info","/lib/top10")),
cts:element-value-query(xs:QName("function"),"stats")
))
)