Команда ReQL: |, или
Синтаксис команды
bool | bool → bool bool.or([bool, bool, ...]) → bool r.or([bool, bool, ...]) → bool
Описание
Вычисляет логическое «или» одного или нескольких значений.
Команда or может использоваться как инфиксный оператор после первого аргумента (r.expr(true).or(false)) или со всеми аргументами в качестве параметров (r.or(true, false)). Стандартный оператор «или» в Ruby, |, также может использоваться с ReQL.
Вызов or с нулевыми аргументами вернёт false.
Пример: Возвращает значение, если либо a либо b истинно.
> a = true
> b = false
> (r.expr(a) | b).run(conn)
true
Пример: Возвращает значение, если хотя бы одно из x, y или z истинно.
> x = false
> y = false
> z = false
> r.or(x, y, z).run(conn)
false
Примечание: При использовании or внутри filter предиката для проверки значений полей, которые могут отсутствовать в проверяемых документах, следует использовать команду default с этими полями, чтобы они явно возвращали false.
r.table('posts').filter { |post|
post['category'].default('foo').eq('article').
or(post['genre'].default('foo').eq('mystery'))
}.run(conn)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/or/