我在MongoDB中为我的数据库创建了一个用户。我已经使用mongo shell进行了测试,以确保用户具有访问数据库的适当权限。
现在我想使用python程序访问数据库,并使用PyMongo。如果我在未授权模式下运行mongod(没有选项--auth
),python客户端可以正常工作。但是,当我使用--auth
选项时,python客户端不再工作。实际上,它报告unauthorized error
,这很容易理解,因为我没有更改代码中的任何内容。下面是连接我的test
数据库的代码:
from pymongo import MongoClient
client = MongoClient()
db = client.test
cursor = db.restaurants.find()
for document in cursor:
print(document)
我的问题是如何将python代码更改为使用以前创建的用户名/密码?我看过客户文档,但没有相关信息。
最佳答案
client = MongoClient("mongodb://username:password@server/dbname")
这是告知客户机连接位置和方式的常规格式。您使用的方式(完全没有参数)默认为本地mongo安装,在默认端口上,没有身份验证。
关于python - 在授权模式下从Python连接mongodb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39149973/