Поделиться через


ARRAY_CONTAINS (запрос NoSQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Возвращает логическое значение, указывающее, содержит ли массив указанное значение. Можно проверить частичное или полное соответствие объекта с помощью логического выражения в функции.

Синтаксис

ARRAY_CONTAINS(<array_expr>, <expr> [, <bool_expr>])  

Аргументы

Description
arr_expr Выражение массива.
expr Выражение для поиска в массиве.
bool_expr Логическое выражение, указывающее, должен ли поиск проверять частичное совпадение (true) или полное совпадение (false). Если не задано, по умолчанию используется значение false.

Типы возвращаемых данных

Возвращает логическое значение.

Примеры

В следующем примере показано, как проверить наличие определенных значений или объектов в массиве с помощью этой функции.

SELECT VALUE {
    containsItem: ARRAY_CONTAINS(["coats", "jackets", "sweatshirts"], "coats"),
    missingItem: ARRAY_CONTAINS(["coats", "jackets", "sweatshirts"], "hoodies"),
    containsFullMatchObject: ARRAY_CONTAINS([{ category: "shirts", color: "blue" }], { category: "shirts", color: "blue" }),
    missingFullMatchObject: ARRAY_CONTAINS([{ category: "shirts", color: "blue" }], { category: "shirts" }),
    containsPartialMatchObject: ARRAY_CONTAINS([{ category: "shirts", color: "blue" }], { category: "shirts" }, true),
    missingPartialMatchObject: ARRAY_CONTAINS([{ category: "shirts", color: "blue" }], { category: "shorts", color: "blue" }, true)
}
[
  {
    "containsItem": true,
    "missingItem": false,
    "containsFullMatchObject": true,
    "missingFullMatchObject": false,
    "containsPartialMatchObject": true,
    "missingPartialMatchObject": false
  }
]

Замечания

  • Эта системная функция получает преимущества от индекса диапазона.