我正在尝试从我的 mongodb 中获取数据,但它失败了:
pymongo.errors.OperationFailure: Authentication failed.
这很奇怪,因为当我尝试通过 robo3T (MongoDB GUI) 使用相同的凭据进行身份验证时,它能够轻松连接。
通过代码是这样的:
client = MongoClient(host=host,
port=int(port),
username=username_admin_db,
password=password_admin_db,
authSource=authSource_admin_db,
maxPoolSize=15,
MaxIdleTimeMS=120000
)
db_handle = client[database_name]
for i in db_handle[collection_name].find({'account_id': "1234"}):
print(i)
在 mongod.conf 中:
security:
authorization: enabled
这也很奇怪,因为通过相同的代码,我能够使用相同的凭据和相同的数据库名称对不同服务器上的另一个数据库进行身份验证。
版本:
Python 3.6.10
MongoDB 3.4
pymongo 3.5.1
Django 1.11.7