Spec-Zone.ru › RethinkDB python

Команда 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)

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

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

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

Пример: Создайте changefeed по первому примеру.

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

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

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

r.table('marvel').order_by('name').union(
    r.table('dc').order_by('name'), interleave='name'
).run(conn)

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

Spec-Zone.ru

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