Вы можете изменить направление сортировки, чтобы получить минимальное вместо максимального значения:
# Sort by myfield (ascending value) and return first document
collection.find_one(sort=[("myfield", 1)])["myfield"]
В этом примере предполагается, что:
myfield
является числовым значением (поэтому порядок сортировки имеет смысл определять минимум или максимум)
myfield
существует в соответствующем возвращенном документе (в противном случае Python сообщит KeyError
при попытке сослаться на несуществующее поле).
- все документы в коллекции имеют
myfield
значение (документы, у которых нет myfield
значения, будут отсортированы до минимальных числовых значений)
Чтобы убедиться, что сортировка основана на документах, которые действительно имеют myfield
значение, которое вы можете добавить $exists
в критерии запроса:
collection.find_one({"myfield": {"$exists": True}}, sort=[("myfield", 1)])["myfield"]
Для получения дополнительной информации о сортировке см .: