Команда ReQL: |, or_
Синтаксис команды
bool | bool → bool bool.or_([bool, bool, ...]) → bool r.or_([bool, bool, ...]) → bool
Описание
Вычисляет логическое «или» одного или нескольких значений.
Команда or_ может использоваться как инфиксный оператор после первого аргумента (r.expr(True).or_(False)) или с указанием всех аргументов в качестве параметров (r.or_(True, False)). Стандартный оператор Python «или», |, также может использоваться с ReQL.
Вызов or_ с нулевыми аргументами вернёт False.
Пример: Вернуть значение истинности, если хотя бы одно из a или b имеет значение true.
> a = True
> b = False
> (r.expr(a) | b).run(conn)
True
Пример: Вернуть значение истинности, если хотя бы одно из x, y или z имеет значение true.
> x = False
> y = False
> z = False
> r.or_(x, y, z).run(conn)
False
Примечание: При использовании or внутри предиката filter для проверки значений полей, которые могут отсутствовать в проверяемых документах, следует использовать команду default с этими полями, чтобы они явно возвращали False.
r.table('posts').filter(lambda 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/python/or/