Mongodb
如何在pyMongo中獲得最小值
我有一個包含多個欄位的集合,我想從中獲取最小值。我知道一個獲取最大值的命令:
collection.find_one(sort=[("myfield", -1)])["myfield"]
但不是一個獲得分鐘。有沒有辦法做到這一點?
您可以反轉排序方向以獲得最小值而不是最大值:
# Sort by myfield (ascending value) and return first document collection.find_one(sort=[("myfield", 1)])["myfield"]
此範例假設:
myfield
是一個數值(因此排序順序對於確定最小值或最大值是有意義的)myfield
存在於返回的匹配文件中(否則 Python 將KeyError
在嘗試引用不存在的欄位時報告 a)。- 集合中的所有文件都有一個
myfield
值(沒有值的文件myfield
將排在最小數值之前)為確保您的排序基於實際具有
myfield
值的文件,您可以將其添加$exists
到查詢條件中:collection.find_one({"myfield": {"$exists": True}}, sort=[("myfield", 1)])["myfield"]
有關排序的更多資訊,請參閱: