我在通过PyMongo访问mongo数据库时遇到问题。我有root用户,并且还为数据库创建了一个“ app”用户。我创建了一个包含两个集合的数据库。在mongo shell中,我可以验证和查询我的数据。但是,当我尝试使用pyMongo时,会显示“身份验证失败”。
我的python看起来像这样:
from pymongo import MongoClient
client = MongoClient('mongodb://user:pass@localhost/mydatabase')
db = client.mydatabase
data = db.mycollection.find()
for d in data:
print(d)
堆栈输出如下:
raise OperationFailure(msg % errmsg, code, response,
pymongo.errors.OperationFailure: Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'}
我确定这很简单,但我无法弄清楚。
Mongo在docker容器中运行。我在另一个容器中也有Monge Express,那两个彼此交谈就很好。
谢谢