Как выбрать подполя документа с помощью запроса N1ql - PullRequest
0 голосов
/ 25 мая 2018

Можно ли выбрать дочерний элемент определенного поля с помощью 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 голосов
/ 25 мая 2018

Команда для выбора полей из подобъекта использует точечную запись.

Например, чтобы получить поля из всех документов в корзине 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 и * 1030.* Учебник по N1QL

...