mongoDB有不同的認證機制,3.0版本以后采用的是'MONGODB-CR', 之前的版本采用的是'MONGODB-CR'。
所以,以我的版本情況,顯然應該用'SCRAM-SHA-1'
from pymongo import MongoClient host = '127.0.0.1' client = MongoClient(host, 27017) #連接mydb數據庫,賬號密碼認證 db = client.admin # 先連接系統默認數據庫admin # 下面一條更改是關鍵,我竟然嘗試成功了,不知道為啥,先記錄下踩的坑吧 db.authenticate("root", "123456",mechanism='SCRAM-SHA-1') # 讓admin數據庫去認證密碼登錄,好吧,既然成功了, my_db = client.mydb # 再連接自己的數據庫mydb collection = my_db.myset # myset集合,同上解釋 collection.insert({"name":"zhangsan","age":18}) # 插入一條數據,如果沒出錯那么說明連接成功 for i in collection.find(): print(i)