Как использовать псевдоним для переименования поля во вложенное поле объекта в запросе Couchbase N1QL

В языке запросов Couchbase N1QL вы можете использовать оператор 'AS' для создания псевдонимов.

Скажем, у вас есть документ:

{ "prop":"value" }

Ты можешь сделать:

select prop as prop2 from `bucket` 

Результатом будет:

{
   "prop2":"value"
}

Что я хочу сделать, это создать псевдоним вложенного поля, например

select prop as nested.prop from `bucket`

Результат должен быть:

{
  "nested":{
      "prop":"value"
   }
}

Но я получаю синтаксическую ошибку при выполнении запроса, подобного этому, в Query Workbench Developer Preview 1.0.2. Запуск сервера Couchbase 4.

Согласно документации Couchbase. Это говорит около дна:

AS ключевое слово

Как и SQL, N1QL позволяет переименовывать поля, используя ключевое слово AS. Тем не менее, N1QL также позволяет изменять данные, что не имеет аналогов в SQL. Для этого вы встраиваете атрибуты оператора в желаемую форму объекта результата.

1 ответ

Вы можете сделать следующее:

SELECT { "prop": prop } AS nested
FROM my_bucket
Другие вопросы по тегам