Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция CHOOSE возвращает выражение по указанному индексу списка или undefined если индекс превышает границы списка.
Синтаксис
CHOOSE(<numeric_expr>, <expr_1> [, <expr_N>])
Arguments
| Description | |
|---|---|
numeric_expr |
Числовое выражение, указывающее индекс, используемый для получения определенного выражения в списке. Начальный индекс списка .1 |
expr_1 |
Первое выражение в списке. |
expr_N |
Необязательные выражения, которые могут содержать переменное число выражений до Nth-элемента в списке. |
Типы возвращаемых данных
Возвращает выражение, которое может быть любого типа.
Примеры
В этом разделе содержатся примеры использования этой конструкции языка запросов.
Рассмотрим этот пример набора документов в Products коллекции для этих примеров.
[
{
"name": "Vimero Hydration Pack",
"category": "gear",
"sku": "69500",
"detailCategory": "gear-hike-hydration-packs"
},
{
"name": "Mt. Hood Hydration Pack",
"category": "gear",
"sku": "69501",
"detailCategory": "gear-hike-hydration-packs"
}
]
Выбор из списка
В этом примере CHOOSE функция используется для выбора значения в индексе 1.
SELECT VALUE
CHOOSE(1, "Vimero", "Hydration", "Pack")
[
"Vimero"
]
Выбор по индексу
В этом примере CHOOSE функция используется для выбора значений по разным индексам.
SELECT VALUE {
index_0: CHOOSE(0, "Mt.", "Hood", "Hydration", "Pack"),
index_1: CHOOSE(1, "Mt.", "Hood", "Hydration", "Pack"),
index_2: CHOOSE(2, "Mt.", "Hood", "Hydration", "Pack"),
index_3: CHOOSE(3, "Mt.", "Hood", "Hydration", "Pack"),
index_4: CHOOSE(4, "Mt.", "Hood", "Hydration", "Pack"),
index_5: CHOOSE(5, "Mt.", "Hood", "Hydration", "Pack")
}
[
{
"index_1": "Mt.",
"index_2": "Hood",
"index_3": "Hydration",
"index_4": "Pack"
}
]
Замечание
В этом примере и index_0 опущены из выходных данных, index_5 так как CHOOSE возвращается undefined для индексов вне диапазона, а свойства со undefined значениями не включаются в объекты JSON.
Выбор поля из продукта
В этом примере CHOOSE функция используется для выбора третьего поля из продуктов в gear-hike-hydration-packs категории.
SELECT VALUE
CHOOSE(3, p.category, p.name, p.sku)
FROM
products p
WHERE
p.detailCategory = "gear-hike-hydration-packs"
[
"69500",
"69501"
]
Замечания
- Эта функция не использует индекс.
- Эта функция использует одноуровневую индексирование, то есть первый элемент в списке находится на индексе
1вместо типичного отсчитывания на основе нуля, найденного на многих языках программирования. - Если индекс выходит из диапазона, функция возвращается
undefined. При создании объекта свойства соundefinedзначениями опущены из результата.