MongoEngine 是一个用 Python 编写的 ODM(Object-Document Mapper,对象文档映射)库。它的核心思想是:把 MongoDB 中的集合(Collection)映射为 Python 类,把文档(Document)映射为类的实例,让你用面向对象的方式操作数据库,而不必直接写 BSON/字典。
关系型世界 MongoDB 世界 MongoEngine
ORM ←→ MySQL ODM ←→ MongoDB Python 类 ←→ Document
uv add mongoengine
# MongoEngine 底层依赖 pymongo,会自动安装
# pip install -U mongoengine
from mongoengine import connect
connect(
db="school", # 数据库名
host="localhost", # 主机地址
port=27017, # 端口
username="admin", # 用户名(可选)
password="123456", # 密码(可选)
authentication_source="admin" # 认证数据库(可选)
)
# 也可以用一个 URI 字符串连接
connect(db="school", host="mongodb://localhost:27017/school")
# 连接 MongoDB Atlas 云数据库
connect(host="mongodb+srv://user:[email protected]/school?retryWrites=true")
connect() 建立的是懒连接:第一次真正执行数据库操作时才会握手,调用 connect() 本身不会立即产生网络请求。
连接默认被全局缓存,后续操作复用同一个连接池(底层是 pymongo 的连接池)。
断开连接用 disconnect(alias="default")