flask_mongo_drf.contrib package
Submodules
flask_mongo_drf.contrib.mongodb_manager module
- class flask_mongo_drf.contrib.mongodb_manager.MongoDBManager[source]
Bases:
object解耦版 MongoDB 数据库管理器: - 管理底层 MongoClient 的连接与释放 - 提供静态方法,方便业务层获取 Collection 实例 - 支持连接池配置、默认数据库缓存、Flask 应用工厂集成
- classmethod register_client(name: str, uri: str, default_db: str | None = None, **kwargs) MongoClient[source]
注册并初始化 MongoDB 客户端。
- Parameters:
name – 客户端唯一标识
uri – MongoDB 连接 URI
default_db – 默认数据库名(可选,用于 get_collection 简化调用)
kwargs – 额外参数(如 maxPoolSize, minPoolSize 等)
- Returns:
MongoClient 实例
- Raises:
MongoDBConnectionError – 连接失败时抛出
- classmethod get_database(db_name: str | None = None, client_name: str = 'default')[source]
获取数据库实例。
- Parameters:
db_name – 数据库名,若为 None 则使用注册时的默认数据库
client_name – 客户端名称
- Returns:
数据库实例
- classmethod get_collection(collection_name: str, db_name: str | None = None, client_name: str = 'default') Collection[source]
获取 Collection 实例(最常用)。
- Parameters:
collection_name – 集合名称
db_name – 数据库名(可选,默认使用客户端注册时的默认数据库)
client_name – 客户端名称
- Returns:
Collection 实例
- property clients
- flask_mongo_drf.contrib.mongodb_manager.init_mongodb(app)[source]
从 Flask 应用配置中批量初始化 MongoDB 连接。
- 配置格式:
- app.config[“MONGODB_SETTINGS”] = {
“default”: {“host”: “mongodb://localhost:27017”, “db”: “myapp”}, “analytics”: {“host”: “mongodb://…”, “db”: “logs”, “maxPoolSize”: 20}
}
注意:不再自动从环境变量 MONGO_URI/MONGO_DB 降级,请显式配置。
Module contents
- flask_mongo_drf.contrib.init_mongodb(app)[source]
从 Flask 应用配置中批量初始化 MongoDB 连接。
- 配置格式:
- app.config[“MONGODB_SETTINGS”] = {
“default”: {“host”: “mongodb://localhost:27017”, “db”: “myapp”}, “analytics”: {“host”: “mongodb://…”, “db”: “logs”, “maxPoolSize”: 20}
}
注意:不再自动从环境变量 MONGO_URI/MONGO_DB 降级,请显式配置。
- class flask_mongo_drf.contrib.MongoDBManager[source]
Bases:
object解耦版 MongoDB 数据库管理器: - 管理底层 MongoClient 的连接与释放 - 提供静态方法,方便业务层获取 Collection 实例 - 支持连接池配置、默认数据库缓存、Flask 应用工厂集成
- classmethod register_client(name: str, uri: str, default_db: str | None = None, **kwargs) MongoClient[source]
注册并初始化 MongoDB 客户端。
- Parameters:
name – 客户端唯一标识
uri – MongoDB 连接 URI
default_db – 默认数据库名(可选,用于 get_collection 简化调用)
kwargs – 额外参数(如 maxPoolSize, minPoolSize 等)
- Returns:
MongoClient 实例
- Raises:
MongoDBConnectionError – 连接失败时抛出
- classmethod get_database(db_name: str | None = None, client_name: str = 'default')[source]
获取数据库实例。
- Parameters:
db_name – 数据库名,若为 None 则使用注册时的默认数据库
client_name – 客户端名称
- Returns:
数据库实例
- classmethod get_collection(collection_name: str, db_name: str | None = None, client_name: str = 'default') Collection[source]
获取 Collection 实例(最常用)。
- Parameters:
collection_name – 集合名称
db_name – 数据库名(可选,默认使用客户端注册时的默认数据库)
client_name – 客户端名称
- Returns:
Collection 实例
- property clients