0

我是 MongoAlchemy 的新手。目前我有 pymongo,我只需要使用 1 个 URL 即可连接到 mongolabs 服务器

mongodb://myusername:secretpassword@ds045801-a1.mongolab.com:45801,ds045808-a0.mongolab.com:45808/mydatabase_name

虽然 MongoAlchemy 使用 MONGOALCHEMY_SERVER 但似乎只需要 1 个主机。反正有没有使用整个 url 作为连接字符串?例如

app.config['MONGOALCHEMY_SERVER'] =  'mongodb://myusername:secretpassword@ds045801-a1.mongolab.com:45801,ds045808-a0.mongolab.com:45808/mydatabase_name'

干杯

4

1 回答 1

0

更新: 如果有人有同样的问题,版本 0.7.1 现在支持连接字符串: https ://github.com/cobrateam/flask-mongoalchemy/issues/40


我想我找到了一个可以通过 2 个主机的地方。由于 _get_mongo_uri 期望

mongodb://%s%s:%s/%s%s' % (auth, app.config.get(key('SERVER')), app.config.get(key('PORT')), database, options)

我只是插入

mongodb://myusername:secretpassword@ds045801-a1.mongolab.com:45801, ds045808-a0.mongolab.com :45808/mydatabase_name

结果是: app.config['MONGOALCHEMY_SERVER'] = "ds045801-a1.mongolab.com:45801,ds045808-a0.mongolab.com"

这有点难看,但它有效(现在)

mongodb连接字符串格式是这样的

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

http://docs.mongodb.org/manual/reference/connection-string/

于 2015-03-16T11:56:00.730 回答