Python3學習筆記34-pymongo模組
阿新 • • 發佈:2018-12-09
pymongo模組是python操作mongo資料的第三方模組,記錄一下自己常用到的簡單用法。
首先需要連線資料庫:
MongoClient():該方法第一個引數是資料庫所在地址,第二個引數是資料庫所在的埠號
authenticate():該方法第一個引數是資料庫的賬號,第二個引數是資料庫的密碼
from pymongo import MongoClient conn = MongoClient('資料庫所在地址', 埠號) db_name = conn.tech_stargate db_name.authenticate("資料庫賬號", "資料庫密碼") user = db_name.userModel
第一行程式碼表示連線資料庫伺服器,並建立相應的物件,其中埠號必須是數字。
第二行程式碼表示建立想要連線資料庫的物件。tech_stargate是想要連線的資料庫名
第三行程式碼表示連線該資料庫。
第四行程式碼表示建立想要操作的資料庫表的物件。
新增:
insert():該方法用來新增,把需要新增的資料以dict形式傳入
add = {'欄位名':'欄位值','欄位名1':'欄位值1'}
user.insert(add)
把需要新增的資料,按照資料庫欄位,依次填好,然後呼叫insert()傳進去就行了
修改:
update():該方法用來修改,需要傳入兩個引數,第一個引數是查詢條件,用來定位修改哪條資料,第二個引數是需要修改的內容
user.update({'phoneNo':'xxxxx'},{'$set':{'想要修改的欄位名':'對應的值'}})
表示用phoneNo欄位,也就是手機號來定位要修改該表的哪一條資料。
查詢:
find():該方法可用來查詢資料,不傳參表示查詢所有資料。也可以傳入一個dict作用查詢條件,鍵是欄位名,值是具體欄位值,一般find()方法通過for迴圈使用。
find()方法返回的內容以dict的形式,既鍵是欄位名,值是具體欄位值,返回資料庫中的一行資料
for i in user.find(): print(i)#列印所有資料 print(i['phoneNo'])#列印所有資料中,欄位為phoneNo的值
這樣程式碼表示查詢該表所有資料。
既然返回的是dict,如果只想要某個欄位,可以通過鍵來獲取值。
for i in user.find({'phoneNo':'xxxx'}):
print(i)
這是有查詢條件的查詢。會返回該表中,欄位是phoneNo,欄位值是對應值的,那一行的資料
刪除:
remove():該方法以dict形式傳入需要刪除內容的條件,不傳貌似是全刪,沒試過。
user.remove({'phoneNo':'xxxxx'})
比如刪除該表中,phoneNo是xxxxx的改行資料