python连接MongoDB
生活随笔
收集整理的這篇文章主要介紹了
python连接MongoDB
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、下載python中MongoDB的驅動程序
pip install pymongo二、python操作mongodb
1.連接mongodb
分幾種情況:
(1)無密碼無認證下連接
from pymongo import MongoClient host = '10.90.10.9' # 你的ip地址 client = MongoClient(host, 27017) # 建立客戶端對象 db = client.mydb # 連接mydb數據庫,沒有則自動創建 myset = db.testset # 使用test_set集合,沒有則自動創建 myset.insert({"name":"zhangsan","age":18}) # 插入一條數據,如果沒出錯那么說明連接成功 # 下面是遍歷查詢數據 for i in myset.find():print(i)(2)有密碼連接(默認數據庫 admin)
from pymongo import MongoClient host = '10.90.10.9' client = MongoClient(host, 27017) #連接mydb數據庫,賬號密碼認證 db = client.admin # 連接系統默認數據庫admin db.authenticate("用戶名", "密碼") collection = db.myset # myset集合,同上解釋 collection.insert({"name":"zhangsan","age":18}) # 插入一條數據,如果沒出錯那么說明連接成功或者 自己定義的數據庫
from pymongo import MongoClient host = '10.90.10.9' client = MongoClient(host, 27017) #連接mydb數據庫,賬號密碼認證 db = client.mydb # mydb數據庫,同上解釋 db.authenticate("用戶名", "密碼") collection = db.myset # myset集合,同上解釋 collection.insert({"name":"zhangsan","age":18}) # 插入一條數據,如果沒出錯那么說明連接成功如果出錯了,報錯:pymongo.errors.OperationFailure: auth failed,可以增加mechanism參數,因為mongoDB有不同的認證機制,3.0版本以后采用的是'SCRAM-SHA-1', 之前的版本采用的是'MONGODB-CR'
即
db.authenticate("用戶名", "密碼",mechanism='MONGODB-CR')(3)有密碼,可以直連admin默認數據庫,不能連接自定義數據庫
這種時候先連接系統默認admin,再轉換為自定義數據庫
from pymongo import MongoClient host = '10.90.10.9' client = MongoClient(host, 27017) #連接mydb數據庫,賬號密碼認證 db = client.admin # 先連接系統默認數據庫admin # 下面一條更改是關鍵,我竟然嘗試成功了,不知道為啥,先記錄下踩的坑吧 db.authenticate("用戶名", "密碼",mechanism='MONGODB-CR') # 讓admin數據庫去認證密碼登錄 my_db = client.mydb # 再連接自己的數據庫mydb collection = my_db.myset # myset集合,同上解釋 collection.insert({"name":"zhangsan","age":18}) # 插入一條數據,如果沒出錯那么說明連接成功還有其他問題,大家一起提出,一同探討。
總結
以上是生活随笔為你收集整理的python连接MongoDB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PCD 文件格式
- 下一篇: 影响我一生的两本书(02)_huadin