Spec-Zone.ru › RethinkDB ruby

Команда 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')) {|marvel_row, dc_row|
    marvel_row[:strength] < dc_row[:strength]
}.run(conn)

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

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

  • inner_join
  • outer_join
  • zip

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

Spec-Zone.ru

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