Команда ReQL: ~, not_
Синтаксис команды
bool.not_() → bool not_(bool) → bool (~bool) → bool
Описание
Вычисляет логическое отрицание (not) выражения.
not_ может быть вызвана либо цепочкой методов, сразу после выражения, которое вычисляется как булево значение, либо путём передачи выражения в качестве параметра not_. Все значения, которые не являются False или None, будут преобразованы в True.
Вы также можете использовать ~ в качестве сокращённого оператора.
Пример: Not true is false.
r.not_(True).run(conn)
r.expr(True).not_().run(conn)
(~r.expr(True)).run(conn)
Эти значения соответствуют false.
Обратите внимание, что при использовании ~ выражение заключено в скобки. Без этого Python вычислит r.expr(True) сначала, а не используя оператор ReQL, и вернёт некорректное значение. (~True вычисляется как −2 в Python.)
Пример: Вернуть всех пользователей, у которых нет поля «flag».
r.table('users').filter(
lambda users: (~users.has_fields('flag'))
).run(conn)
Пример: Как выше, но в префиксном стиле.
r.table('users').filter(
lambda users: r.not_(users.has_fields('flag'))
).run(conn)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/python/not/