pymongo连接mongodb的三种认证方式

1、URI参数

import pymongo
#user:账号  【可选项】
#password:密码 【可选项】
#example.com:若无账号密码,前方@可去掉,示例:localhost:27017/
#database:指定应用加解密的database,默认是admin 【可选项】
#mechanism:认证机制,MongoDB 3.0(对应pymongo2.8)之后默认使用“SCRAM-SHA-1”加解密;之前使用的是“MONGODB-CR” 【可选项】

uri = "mongodb://user:password@example.com/database?mechanism=SCRAM-SHA-1"
client = pymongo.MongoClient(uri)
db = client.mydb
col = db['mycol']

2、关键字变量

import pymongo
#hots:ip
#port:端口
#user:账号  【可选项】
#password:密码 【可选项】
#source:指定应用加解密的database,默认是admin 【可选项】
#mechanism:认证机制,MongoDB 3.0(对应pymongo2.8)之后默认使用“SCRAM-SHA-1”加解密;之前使用的是“MONGODB-CR” ,可以用DEFAULT说明使用默认【可选项】


client = pymongo.MongoClient(host='127.0.0.1',
                              port='27017',
                              username='user',
                              password='password',
                              source='database',
                              mechanism='DEFAULT')
db = client.mydb
col = db['mycol']

3、authenticate认证

import pymongo 
client = pymongo.MongoClient('127.0.0.1', 27017)

#连接mydb数据库,账号密码认证
db = client.mydb    # mydb数据库
db.authenticate("用户名", "密码","认证机制【可省略】")

col = db.mycol  # mycol集合

或者通过admin认证

import pymongo 
client = pymongo.MongoClient('127.0.0.1', 27017)

#连接admin数据库,账号密码认证
db = client.admin
db.authenticate("用户名", "密码","认证机制【可省略】")

#认证结束
db = client.mydb   # mydb数据库
col = db['mycol']  # mycol集合

参考:

mongodb文档:https://docs.mongodb.com/manual/introduction/

pymongo文档:https://api.mongodb.com/python/current/

别人的踩坑博1:https://www.jianshu.com/p/7437666f93e5

别人的踩坑博2:https://www.jianshu.com/p/d9918b0a3ebc

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值