python3连接mongoDB及鉴权问题处理

目录

1、下载安装包,导入安装包,并尝试连接,方式一:

2、下载安装包,导入安装包,并尝试连接,方式二: 

3、看似已经可以正常进行库内表的访问:

4、通过调整访问参数,问题得到解决:


1、下载安装包,导入安装包,并尝试连接,方式一:

# 安装 pip install pymongo mongodb的安装包
# 导入安装包
from pymongo import MongoClient
# 尝试连接,此处连接方式有两种:
# url方式访问
url = "mongodb://%s:%s@%s" % ('test', 'test01', "ip:port")
conn = MongoClient(url)
# 连接对应的库
db = conn.test
print(db)

结果:
Database(MongoClient(host=['ip:port'], document_class=dict, tz_aware=False, connect=True), 'test')

2、下载安装包,导入安装包,并尝试连接,方式二: 

# 导入安装包
from pymongo import MongoClient
# 尝试连接,此处连接方式有两种:
# 对象方式访问
conn = MongoClient(host=ip, port=port, username='test', password='test01')
# 连接对应的库
db = conn.test
print(db)

结果:
Database(MongoClient(host=['ip:port'], document_class=dict, tz_aware=False, connect=True), 'test')

3、看似已经可以正常进行库内表的访问:

# 无论以哪种连接方式,之后访问库内的表
print(db.f_test01.find_one())

结果报异常:
pymongo.errors.OperationFailure: Authentication failed., full error:

# 通过网上查找的解决方式
db.authenticate('test', 'test01')

结果继续报异常,尝试失败,报此方法不存在:
TypeError: 'Collection' object is not callable. If you meant to call the 'authenticate' method on a 'Database' object it is failing because no such method exists.

4、通过调整访问参数,问题得到解决:

# 在原先的连接方式处增加要访问的目标库
# authSource='test' 参数
conn = MongoClient(host=ip, port=port, username='test', password='test01', authSource='test')

# 在此执行第三步的请求问题得到解决,正常返回结果

# 或者改变url
url = "mongodb://test:test01@ip:port/?authSource=test"

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷隐凡二

相识便是缘,开启技术大门

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值