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

时间:2015-05-13 15:14:31

标签: marklogic

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

收藏集: test1 test2

使用 1 集合进行查询:工作

db.documents.query(
        qb.where(
            qb.collection("test1"),
            qb.value("productId","8989")
        ))
        .result();

请帮助我如何指定两个系列?

以下查询返回零结果

db.documents.query(
        qb.where(
            qb.collection("test1"),qb.collection("test2"),
            qb.value("productId","8989")
        ))
        .result();

1 个答案:

答案 0 :(得分:4)

“失败”,是指查询没有返回结果或错误?

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

qb.where(
  qb.collection("test1"),
  qb.collection("test2")
)

要匹配任一集合中的文档,您需要or查询:

qb.where(
  qb.or(
    qb.collection("test1"),
    qb.collection("test2")
  )
)