Spec-Zone.ru › RethinkDB python

Команда ReQL: outer_join

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

sequence.outer_join(other_sequence, predicate_function) → stream
array.outer_join(other_sequence, predicate_function) → array

Описание

Возвращает левое внешнее соединение двух последовательностей. Возвращаемая последовательность представляет собой объединение левой и правой последовательностей: все документы в левой последовательности будут возвращены, каждый сопоставленный с документом в правой последовательности, если он удовлетворяет условию предиката. В большинстве случаев вам потребуется выполнить соединение с помощью zip для объединения левых и правых результатов.

Обратите внимание, что outer_join медленнее и значительно менее эффективно, чем использование concat_map с get_all. Следует избегать использования outer_join в командах, когда это возможно.

Пример: Возвращает список всех героев Marvel, сопоставленных с любыми героями DC, которые могли бы их победить в схватке.

r.table('marvel').outer_join(r.table('dc'),
  lambda marvel_row, dc_row: marvel_row['strength'] < dc_row['strength']
).zip().run(conn)

(Сравните это с inner_join с теми же входными данными и предикатом, который вернул бы список только тех пар, в которых герой DC обладает большей силой.)

Связанные команды

  • eq_join
  • inner_join
  • zip

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

Spec-Zone.ru

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