Spec-Zone.ru › RethinkDB java

Команда ReQL: union

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

stream.union(sequence[, sequence, ...]) → stream
array.union(sequence[, sequence, ...]) → array
r.union(stream, sequence[, sequence, ...]) → stream
r.union(array, sequence[, sequence, ...]) → array

Описание

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

interleave optArg управляет способом объединения последовательностей:

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

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

r.table("marvel").union(r.table("dc")).run(conn);

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

r.expr(r.array(1, 2)).union(r.array(3, 4), r.array(5, 6), r.array(7, 8, 9)).run(conn);

// Result:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

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

r.table("marvel").union(r.table("dc")).changes().run(conn);

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

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

r.table("marvel").orderBy("name")
 .union(r.table("dc").orderBy("name")).optArg("interleave", "name")
 .run(conn);

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

Spec-Zone.ru

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