Marklogic 从多个集合检索文档

Marklogic 从多个集合检索文档,marklogic,marklogic-8,Marklogic,Marklogic 8,我将文档存储在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

我将文档存储在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,因为这两个文档只是“系统”、“访问”集合的一部分,但这里我从集合:系统、用户、集合:系统、角色获取所有文档。 我不能理解关于代码的错误,或者我遗漏了一些东西


请帮助我解决此问题。

您的代码问题如下所示-

您存储的所有6个文档都是“系统”集合的一部分

因此,很明显,无论何时您尝试提供集合(“系统”),它都会获取所有文档

另一种情况可能是-假设您想要检索属于“用户”和“访问”集合的文档。在这种情况下,您可以在cts:search查询中使用cts:and查询


希望有帮助

Thx@Shalini。。在使用cts:和query之后,它工作得很好。很高兴它有帮助:)