Spec-Zone.ru › RethinkDB javascript

Команда ReQL: outerJoin

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

sequence.outerJoin(otherSequence, predicate_function) → stream
array.outerJoin(otherSequence, predicate_function) → array

Описание

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

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

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

r.table('marvel').outerJoin(r.table('dc'), function(marvelRow, dcRow) {
    return marvelRow('strength').lt(dcRow('strength'))
}).run(conn, callback)

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

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

  • innerJoin
  • eqJoin
  • zip

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

Spec-Zone.ru

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