Puede invertir la dirección de clasificación para obtener el valor mínimo en lugar del máximo:
# Sort by myfield (ascending value) and return first document
collection.find_one(sort=[("myfield", 1)])["myfield"]
Este ejemplo supone que:
myfield
es un valor numérico (por lo que el orden de clasificación tiene sentido para determinar un mínimo o un máximo)
myfield
existe en el documento coincidente devuelto (de lo contrario, Python informará a KeyError
cuando intente hacer referencia a un campo inexistente).
- Todos los documentos de la colección tienen un
myfield
valor (los documentos que no tienen un myfield
valor se ordenarán antes que los valores numéricos mínimos)
Para garantizar que su clasificación se base en documentos que realmente tienen un myfield
valor que puede agregar $exists
a los criterios de consulta:
collection.find_one({"myfield": {"$exists": True}}, sort=[("myfield", 1)])["myfield"]
Para obtener más información sobre la clasificación, consulte: