W3cubDocs

/RethinkDB Ruby

ReQL command: contains

Command syntax

sequence.contains([value | predicate_function, ...]) → bool
r.contains(sequence, [value | predicate_function, ...]) → bool

Description

When called with values, returns true if a sequence contains all the specified values. When called with predicate functions, returns true if for each predicate there exists at least one element of the stream where that predicate returns true.

Values and predicates may be mixed freely in the argument list.

Example: Has Iron Man ever fought Superman?

r.table('marvel').get('ironman')[:opponents].contains('superman').run(conn)

Example: Has Iron Man ever defeated Superman in battle?

r.table('marvel').get('ironman')[:battles].contains{|battle|
    battle[:winner].eq('ironman') & battle[:loser].eq('superman')
}.run(conn)

Example: Use contains with a predicate function to simulate an or. Return the Marvel superheroes who live in Detroit, Chicago or Hoboken.

r.table('marvel').filter { |hero|
    r.expr(['Detroit', 'Chicago', 'Hoboken']).contains(hero['city'])
}.run(conn)

Related commands

Get more help

Couldn't find what you were looking for?

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