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:[email protected]/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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章