我是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'
干杯
答案 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]]] [?/ [数据库] [选项]]