0

私はMongoAlchemyが初めてです。現在、mongolabsサーバーに接続するために1つのURLを使用するだけでよいpymongoがあります

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://[ユーザー名:パスワード@]ホスト1[:ポート1][,ホスト2[:ポート2],...[,ホストN[:ポートN]]][/[データベース][?オプション]]

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

于 2015-03-16T11:56:00.730 に答える