从多个集合中检索文档
Retrieve Documents from Multiple Collection
我将文档存储在 Marklogic 中,如下所示,
Collection : system, user
Documents Stored
1. /system/user/1
2. /system/user/2
Collection : system, role
Documents Stored
1. /system/role/1
2. /system/role/2
Collection : system, access
Documents Stored
1. /system/access/1
2. /system/access/2
现在我的要求是我想要所有文档,它们只是 系统的一部分,访问 集合所以我尝试了,
for $doc in cts:search(collection(("system", "access")), ())
return
(
document-uri($doc)
)
在这里执行上面的代码后我期待 /system/access/1, /system/access/2 因为这两个文件只是"system"、"access" 集合的一部分,但在这里我从 集合中获取所有文档:系统、用户、集合:系统,角色。
我无法理解关于代码的错误或者我遗漏了一些东西。
请帮我解决这个问题。
你的代码问题如下-
您存储的所有 6 个文档都是“System”集合的一部分。
很明显,每当您尝试提供 collection("system") 时,它都会获取所有文档。
另一种情况可以是 - 假设您要检索属于“user”和 "access" 集合的文档。在这种情况下,您可以在 cts:search query.
中使用 cts:and-query
希望对您有所帮助!
我将文档存储在 Marklogic 中,如下所示,
Collection : system, user
Documents Stored
1. /system/user/1
2. /system/user/2
Collection : system, role
Documents Stored
1. /system/role/1
2. /system/role/2
Collection : system, access
Documents Stored
1. /system/access/1
2. /system/access/2
现在我的要求是我想要所有文档,它们只是 系统的一部分,访问 集合所以我尝试了,
for $doc in cts:search(collection(("system", "access")), ())
return
(
document-uri($doc)
)
在这里执行上面的代码后我期待 /system/access/1, /system/access/2 因为这两个文件只是"system"、"access" 集合的一部分,但在这里我从 集合中获取所有文档:系统、用户、集合:系统,角色。 我无法理解关于代码的错误或者我遗漏了一些东西。
请帮我解决这个问题。
你的代码问题如下-
您存储的所有 6 个文档都是“System”集合的一部分。
很明显,每当您尝试提供 collection("system") 时,它都会获取所有文档。
另一种情况可以是 - 假设您要检索属于“user”和 "access" 集合的文档。在这种情况下,您可以在 cts:search query.
中使用 cts:and-query希望对您有所帮助!