簡體   English   中英

pymongo 和燒瓶的身份驗證問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM