sequence.outerJoin(otherSequence, predicate_function) → stream
array.outerJoin(otherSequence, predicate_function) → array
Returns a left outer join of two sequences. The returned sequence represents a union of the left-hand sequence and the right-hand sequence: all documents in the left-hand sequence will be returned, each matched with a document in the right-hand sequence if one satisfies the predicate condition. In most cases, you will want to follow the join with zip to combine the left and right results.
Note that outerJoin
is slower and much less efficient than using concatMap with getAll. You should avoid using outerJoin
in commands when possible.
Example: Return a list of all Marvel heroes, paired with any DC heroes who could beat them in a fight.
r.table("marvel").outerJoin(r.table("dc"),
(marvel_row, dc_row) -> marvel_row.g("strength").lt(dc_row.g("strength"))
).zip().run(conn);
(Compare this to an innerJoin with the same inputs and predicate, which would return a list only of the matchups in which the DC hero has the higher strength.)
Couldn't find what you were looking for?
Contribute: edit this page or open an issue