1. 程式人生 > >Python3學習筆記34-pymongo模組

Python3學習筆記34-pymongo模組

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的改行資料