如何使用N1ql查询选择文档的子字段

时间:2018-05-25 10:32:40

标签: couchbase n1ql

我可以使用N1ql Query ???

选择特定字段的子元素

示例:

{
  "content": {
    "_id": "88w73c9e-f7ed-4816-7778-5247e69cd77450",
    "_type": "Publish",
    "author": "abcd",
    "book": {
      "$ref": "03ee49ec-4452-4ebs-9f49-9f3aa4rra53f",
      "_type": "Book"
    }
  }
}
  • 如何从图书字段中提取$ref_type
  • 如何为其编写选择查询?

1 个答案:

答案 0 :(得分:1)

从子对象中选择字段的命令使用点表示法。

例如,从test存储桶中获取所有文档中的字段:

SELECT content.book.`$ref`, content.book._type FROM test;
  • SELECT content.book.`$ref`, content.book._type:这些是从test存储桶中的所有文档中选择的字段。
    • `$ref`位于后面,因为美元是保留字符。
  • FROM test:这是将执行的存储桶查询。

查询将返回以下信息:

[
  {
    "$ref": "03ee49ec-4452-4ebs-9f49-9f3aa4rra53f",
    "_type": "Book"
  }
]

要根据文档内容进行查询,可以使用以下查询:

SELECT content.book.`$ref`, content.book._type FROM test WHERE content. author = "abcd";

有关N1QL的详细信息,请参阅Couchbase documentationN1QL tutorial