python - mongodb python 中的身份验证

标签 python mongodb

我正在尝试使用身份验证连接到 mongodb 数据库。我这样做的代码如下:

from pymongo import MongoClient
import urllib
client = MongoClient()
client = MongoClient('ip', port)
client.prod_db.authenticate('username', 'pass',  source='source_database')

但是我在身份验证行中收到以下错误:

pymongo.errors.OperationFailure: Authentication failed.

我是否错误地执行了整个身份验证操作?

编辑:还尝试使用以下架构:

client = MongoClient('mongodb://user:pass@ip:port/')

我也遇到了同样的错误。

最佳答案

有很多原因可能导致身份验证失败。

  • 首先检查您是否允许您的 IP 地址用于 bindip。使用 0.0.0.0 允许所有客户端访问 MongoServer。

  • 也在 authenticate() 中将机制作为参数传递。

这样的东西对我有用:

client = MongoClient('127.0.0.1', 27017)
client.admin.authenticate('username', 'pass', mechanism = 'SCRAM-SHA-1', source='source_database')
db_name = client[db]
col_name = col_name
col = db_name[col_name]

关于python - mongodb python 中的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43181396/

相关文章:

python - subprocess.Popen().pid 返回父脚本的 pid

python - 将数据框的所有数字列转换为绝对值

node.js - 如何使用 $filter 获取数组字段的过滤元素

Mongodb集合对象总小时数集合

mongodb - 无法读取证书文件 :/root/ssl/mongodb. pem MongoDB SSL 问题

python - 在python中读取稀疏矩阵

python - Python 日志记录的摘要计数

python - Python 中替换特定字符的优雅方法

node.js - 从两个集合填充

c# - 更新 MongoDB 中的嵌入式文档详细信息