2015-03-13 87 views
0

我是新的MongoAlchemy。目前,我有pymongo,我只需要使用1個URL連接到服務器mongolabs燒瓶MongoAlchemy與多主機的網址

的mongodb://名爲myUsername:[email protected]:45801,ds045808-a0.mongolab.com:45808/mydatabase_name

雖然MongoAlchemy使用MONGOALCHEMY_SERVER,但似乎只有1個主機。 反正有沒有使用整個網址作爲連接字符串? 如

app.config['MONGOALCHEMY_SERVER'] = 'mongodb://myusername:[email protected]:45801,ds045808-a0.mongolab.com:45808/mydatabase_name' 

乾杯

+0

這是連接到副本集? – 2015-03-14 10:13:16

+0

是的,我想這是一個副本,因爲mongolabs提供主節點和從節點。 – Granit 2015-03-15 11:35:52

+0

它應該確定副本中爲您設置的內容 – 2015-03-15 11:37:20

回答

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/