You are viewing a single comment's thread from:

RE: PyMongo开发指南

in #starnote • 4 days ago

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")