Spec-Zone.ru › RethinkDB javascript

Команда ReQL: union

Синтаксис команды

stream.union(sequence[, sequence, ...][, {interleave: true}]) → stream
array.union(sequence[, sequence, ...][, {interleave: true}]) → array
r.union(stream, sequence[, sequence, ...][, {interleave: true}]) → stream
r.union(array, sequence[, sequence, ...][, {interleave: true}]) → array

Описание

Объединение двух или более последовательностей.

Необязательный interleave аргумент управляет тем, как будут объединены последовательности:

  • true: результаты будут смешаны; это самый быстрый вариант, но порядок элементов не гарантируется. (Это значение по умолчанию.)
  • false: входные последовательности будут добавлены друг к другу слева направо.
  • "field_name": строка будет использована в качестве имени поля для выполнения слияния методом сортировки слиянием. Входные последовательности должны быть отсортированы перед передачей в union.
  • функция: аргумент interleave может принимать функцию, аргументом которой является текущая строка, а возвращаемым значением — значение для выполнения слияния методом сортировки слиянием.

Пример: Построение потока всех героев.

r.table('marvel').union(r.table('dc')).run(conn, callback);

Пример: Объединение четырёх массивов в один.

r.expr([1, 2]).union([3, 4], [5, 6], [7, 8, 9]).run(conn, callback)
// Result passed to callback
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Пример: Создание изменения из первого примера.

r.table('marvel').union(r.table('dc')).changes().run(conn, callback);

Теперь при добавлении, изменении или удалении героев из любой таблицы будет отправлено уведомление об изменении.

Пример: Слияние таблиц героев методом сортировки слиянием, отсортированных по имени.

r.table('marvel').order_by('name').union(
    r.table('dc').order_by('name'), {interleave: 'name'}
).run(conn, callback);

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/union/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API