Couchbase如何查询数组

时间:2018-02-05 18:40:51

标签: couchbase n1ql

如果我有Couchbase文档,如下所示:

{
  "history": {
    "id": "123",
    "date": "today",
    "status_history": [
      {
        "code": "0",
        "message": "success",
        "status": "complete"
      }
    ],
    "other": "other"
  }
}

如果我想从今天获得所有文件,我可以做select * from 'my_bucket' where history.date = "today"

之类的事情

但是我如何从数组结构中的status_history获得类似状态的东西?

select * from 'my_bucket' where history.status_history. status?? = "complete"

2 个答案:

答案 0 :(得分:2)

除了特定数组元素的Bar语法之外,如果要确保任何元素(或所有元素)满足某些元素,您还可以使用other[]条件。例如:

ANY

答案 1 :(得分:1)

您可以使用[]语法来处理数组元素。

例如:

SELECT h.*
FROM my_bucket h
WHERE h.status_history[0].status = 'complete'