Flask MongoAlchemy与多主机网址

时间:2015-03-13 10:45:56

标签: python flask mongoalchemy

我是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作为连接字符串? e.g

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

干杯

1 个答案:

答案 0 :(得分: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:// [用户名:密码@]主机1 [:端口1] [,主机2 [:端口2],... [,hostN [:端口n]]] [?/ [数据库] [选项]]

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