📜  Python MongoDB-排序(1)

📅  最后修改于: 2023-12-03 15:34:02.407000             🧑  作者: Mango

Python MongoDB 排序

在 MongoDB 中,我们可以通过指定排序参数来对集合中的文档进行排序。本文将介绍如何使用 Python 对 MongoDB 中的文档进行排序。

sort() 方法

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() 方法过滤文档,再进行排序。