Команда ReQL: min
Синтаксис команды
sequence.min(field | function) → element sequence.min(index=<indexname>) → element r.min(sequence, field | function) → element r.min(sequence, index=<indexname>) → element
Описание
Находит минимальный элемент в последовательности.
Команда min может быть вызвана с:
- именем поля, чтобы вернуть элемент последовательности с наименьшим значением в этом поле;
- индексом (первичным ключом или вторичным индексом), чтобы вернуть элемент последовательности с наименьшим значением в этом индексе;
- функцией, чтобы применить функцию к каждому элементу в последовательности и вернуть элемент, который возвращает наименьшее значение из функции, игнорируя любые элементы, где функция генерирует ошибку ненайденного значения.
Для получения дополнительной информации о порядке сортировки RethinkDB, ознакомьтесь с разделом в типах данных ReQL.
Вызов min на пустой последовательности приведет к ошибке отсутствия значения; с этим можно справиться с помощью команды default.
Пример: Вернуть минимальное значение в списке [3, 5, 7].
r.expr([3, 5, 7]).min().run(conn)
Пример: Вернуть пользователя с наименьшим количеством очков.
r.table('users').min('points').run(conn)
Пример: То же самое, что и выше, но с использованием вторичного индекса по полю points.
r.table('users').min(index='points').run(conn)
Пример: Вернуть пользователя с наименьшим количеством очков, добавив бонусные очки из отдельного поля с помощью функции.
r.table('users').min(lambda user:
user['points'] + user['bonus_points']
).run(conn)
Пример: Вернуть наименьшее количество очков, набранных любым пользователем. Это возвращает значение поля points, а не документ.
r.table('users').min('points')['points'].run(conn)
Пример: Вернуть пользователя с наименьшим количеством очков, но добавить значение по умолчанию None для возвращаемого значения, чтобы предотвратить ошибку, если ни один пользователь не набрал очков.
r.table('users').min('points').default(None).run(conn)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/python/min/