Configuration
PyMongo
直接支持如下的配置项:
MONGO_URI | 一个 MongoDB 网址 用于其他配置项。 |
MONGO_HOST | 你的 MongoDB 服务器的主机名或者 IP 地址。 默认:”localhost”。 |
MONGO_PORT | 你的 MongoDB 服务器的端口。默认:27017。 |
MONGO_AUTO_START_REQUEST | 为了禁用 PyMongo 2.2 的 “auto start request” 行为, 设置成 False 。 (请见 MongoClient )。 默认:True 。 |
MONGO_MAX_POOL_SIZE | (可选): PyMongo 连接池中保持空闲连接的最大数量。 默认:PyMongo 默认值。 |
MONGO_SOCKET_TIMEOUT_MS | (可选): (整型) 在超时前套接字允许一个发送或者接收的耗时(毫秒)。 默认: PyMongo 默认值。 |
MONGO_CONNECT_TIMEOUT_MS | (可选): (整型) 在超时前允许一个连接的耗时(毫秒)。 默认: PyMongo 默认值。 |
MONGO_DBNAME | 可用于作为 db 属性的数据库名。默认: app.name 。 |
MONGO_USERNAME | 用于认证的用户名。默认:None 。 |
MONGO_PASSWORD | 用于认证的密码。默认:None 。 |
MONGO_REPLICA_SET | 设置成连接的备份集的名称; 这必须匹配到备份集的内部名,由 http://www.mongodb.org/display/DOCS/Replica+Set+Commands#ReplicaSetCommands-isMaster 命令)决定的。默认:None 。 |
MONGO_READ_PREFERENCE | 决定如何读取路由到备份集的成员。 必须是定义在 pymongo.read_preferences.ReadPreference 中的一个常量 或者一个字符串名称。 |
MONGO_DOCUMENT_CLASS | 告诉 pymongo 返回定制的对象而不是默认的字典, 比如 bson.son.SON 。 默认: dict 。 |
当 PyMongo
或者 init_app()
仅仅只有一个参数调用的时候 (the Flask 实例),会假设配置值的前缀是 MONGO
;能够用 config_prefix
来覆盖这个前缀。
这个技术能够用于连接多个数据库或者数据服务器:
app = Flask(__name__)
# connect to MongoDB with the defaults
mongo1 = PyMongo(app)
# connect to another MongoDB database on the same host
app.config['MONGO2_DBNAME'] = 'dbname_two'
mongo2 = PyMongo(app, config_prefix='MONGO2')
# connect to another MongoDB server altogether
app.config['MONGO3_HOST'] = 'another.host.example.com'
app.config['MONGO3_PORT'] = 27017
app.config['MONGO3_DBNAME'] = 'dbname_three'
mongo3 = PyMongo(app, config_prefix='MONGO3')
你应该需要注意一些自动配置的设置:
tz_aware
:
Flask-PyMongo 一直使用通用时区的 datetime
对象。这是因为当建立连接的时候它设置 tz_aware
参数为 True
。从 MongoDB 返回的 datetime
对象一直是 UTC。
safe
:
Flask-PyMongo 默认地设置成 “safe” 模式,这会导致 save()
, insert()
, update()
, 和 remove()
在返回前一直等待着服务器的应答。你可以在调用的时候通过传入 safe=False
参数到任何一个受影响的方法中来覆盖它。
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .