MarkLogic Node.js。如何在查询中指定多个集合

MarkLogic Node.js。如何在查询中指定多个集合,marklogic,Marklogic,我正在使用MarkLogic Node.js客户端API。我正在运行一个查询,希望在其中指定多个集合;但是我没有得到任何结果。但是,如果我只指定一个集合;查询是有效的。以下是一个集合的示例: 集合:test1和test2 使用1个集合进行查询:Works 请帮助我如何指定两个集合 下面的查询返回零结果: 所谓失败,是指查询不返回结果,还是返回错误 qb.where中的约束是和,因此以下内容仅与两个集合中的文档匹配: qb.where( qb.collection("test1"), qb

我正在使用MarkLogic Node.js客户端API。我正在运行一个查询,希望在其中指定多个集合;但是我没有得到任何结果。但是,如果我只指定一个集合;查询是有效的。以下是一个集合的示例:

集合:test1和test2

使用1个集合进行查询:Works

请帮助我如何指定两个集合

下面的查询返回零结果:


所谓失败,是指查询不返回结果,还是返回错误

qb.where中的约束是和,因此以下内容仅与两个集合中的文档匹配:

qb.where(
  qb.collection("test1"),
  qb.collection("test2")
)
要匹配任一集合中的文档,您需要或查询:


谢谢你说得对。我得到的不是错误,而是零结果。现在我使用的是qb.or语句,我非常确定您还可以将这两个集合名称作为数组提供,例如:qb.collection['test1','test2']。《node.js指南》对此不是很清楚,但底层结构化查询支持它。
db.documents.query(
        qb.where(
            qb.collection("test1"),qb.collection("test2"),
            qb.value("productId","8989")
        ))
        .result();
qb.where(
  qb.collection("test1"),
  qb.collection("test2")
)
qb.where(
  qb.or(
    qb.collection("test1"),
    qb.collection("test2")
  )
)