📅  最后修改于: 2023-12-03 15:34:02.407000             🧑  作者: Mango
在 MongoDB 中,我们可以通过指定排序参数来对集合中的文档进行排序。本文将介绍如何使用 Python 对 MongoDB 中的文档进行排序。
MongoDB 的 sort() 方法用于对文档进行排序,其参数如下:
sort()
:默认按升序排序;sort(<key>: <direction>)
:指定要排序的键及排序方式,其中 direction
为 1 表示升序,-1 表示降序。例如,以下代码将按 age
字段升序排序 people
集合中符合条件的文档:
people = mydb["people"]
query = {"age": {"$gt": 18}}
result = people.find(query).sort("age")
假设我们有一个名为 students
的集合,其中包含有以下文档:
{ "name": "Tom", "age": 18, "score": 80 }
{ "name": "Alice", "age": 20, "score": 90 }
{ "name": "Bob", "age": 18, "score": 85 }
要按照 score
字段进行降序排序,可以使用以下代码:
from pymongo import MongoClient
# 连接 MongoDB
client = MongoClient("mongodb://localhost:27017/")
# 选择数据库
mydb = client["test"]
# 选择集合
students = mydb["students"]
# 排序查询
result = students.find().sort("score", -1)
# 输出结果
for document in result:
print(document)
# 关闭连接
client.close()
输出结果类似于:
{ "name": "Alice", "age": 20, "score": 90 }
{ "name": "Bob", "age": 18, "score": 85 }
{ "name": "Tom", "age": 18, "score": 80 }
本文介绍了如何在 Python 中使用 MongoDB 的 sort() 方法对文档进行排序。请注意,sort() 方法是在 find() 方法之后执行的,因此请先通过 find() 方法过滤文档,再进行排序。