Answers:
您可以反转排序方向以获取最小值而不是最大值:
# Sort by myfield (ascending value) and return first document
collection.find_one(sort=[("myfield", 1)])["myfield"]
本示例假定:
myfield
是一个数值(因此排序顺序对于确定最小值或最大值是有意义的)myfield
在返回的匹配文档中存在(否则,KeyError
当尝试引用不存在的字段时,Python将报告a )。myfield
值(没有值的文档myfield
将在最小数值之前排序)为确保排序基于实际具有myfield
值的文档,您可以将其添加$exists
到查询条件中:
collection.find_one({"myfield": {"$exists": True}}, sort=[("myfield", 1)])["myfield"]
有关排序的更多信息,请参见: