Поддерживает ли n1ql точечную нотацию, чтобы разрешить результаты фильтрации на основе значения подполя JSON?Использование точечной нотации в предложении WHERE в n1ql
Следует ли использовать =
или is
оператора?
Поддерживает ли n1ql точечную нотацию, чтобы разрешить результаты фильтрации на основе значения подполя JSON?Использование точечной нотации в предложении WHERE в n1ql
Следует ли использовать =
или is
оператора?
Следующая команда может быть использована для фильтрации подполе:
SELECT * from `bucket` WHERE info.category = 'SPECIFIC_CATEGORY';
documentation объясняет, когда оператор IS
следует использовать:
IS/IS NOT NULL/ОТСУТСТВУЕТ семейство операторы позволяют указать условия, основанные на существовании (или отсутствии) атрибутов в наборе данных.
Возможно, вам понадобится пройти через N1QL Tutorial.
На самом деле синтаксис '=', по-видимому, работает для булевых, строк и чисел как на верхнем, так и на нижнем уровнях. Синтаксис 'is', похоже, работает для строк, но не для логических чисел или чисел. Не знаю, предназначено ли это. Моя первоначальная проблема связана с тем, что поле json называется «группа». :) Как предложил мой коллега, это, возможно, рассматривалось как ключевое слово n1ql. – Developer
yes Оператор = должен работать в подполе ... вам может понадобиться избежать части вашего пути, если атрибуты на вашей json-карте соответствуют ключевым словам N1QL, как вы обнаружили позже;) –