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
}
]
Замечания
- Эта системная функция получает преимущества от индекса диапазона.