[英]Authentication problems with pymongo and flask
我正在嘗試連接 pymongo 和燒瓶。 我這樣做了:
app.config['MONGO_HOST'] = 'ds02XX.mongolab.com'
app.config['MONGO_PORT'] = '29224'
app.config['MONGO_DBNAME'] = 'myusername'
app.config['MONGO_USERNAME'] = 'myusername'
app.config['MONGO_PASSWORD'] = 'thislongpasswordthatigotfrommongolab'
但是,當我調用mongo=PyMongo(app)
,它根本不起作用。 我收到這個錯誤:
pymongo.errors.OperationFailure: command SON([('authenticate', 1), ('user', u'myusername'), ('nonce', u'somenumbers'), ('key', u'othernumbers')]) failed: auth failed
有什么我可以做的檢查嗎? 我使用相同的數據通過 mongo shell 進行連接,並且運行良好!
謝謝,
弗朗西斯
出於某種原因,PyMongo 3.0.3 無法正常工作。 他們 - Mongolab - 說驅動程序應該與 MongoDB 3.0 兼容,而 PyMongo 3.0.3 是。 我恢復到 PyMongo 2.8,它現在可以工作了。
我在使用時收到相同的錯誤消息:MongoDB 2.6 和 PyMongo 3.2。 嘗試將我的 PyMongo 降級到 2.7 和 2.8 版本,但沒有用。 最后,我通過更新我的連接字符串以包含數據庫來成功連接。
更改自:
'mongodb://'+ MONGODB[ 'username' ] + ':' + MONGODB[ 'password' ] + '@' + MONGODB['server'] + ':' + MONGODB['port'] + '/'
到
'mongodb://'+ MONGODB[ 'username' ] + ':' + MONGODB[ 'password' ] + '@' + MONGODB['server'] + ':' + MONGODB['port'] + '/' + MONGODB['database']
如果使用憑據,MongoDB 2.6 版要求連接字符串包含數據庫。 如果不包含數據庫,則 mongo 客戶端將嘗試進行身份驗證並連接到默認的管理數據庫。 這里有詳細說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.