我在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/

10-12 17:02
查看更多