前言
本文主要給大家介紹的是關于在Python3使用PyMongo的方法,分享出來供大家參考學習,下面話不多說了,來一起看看詳細介紹:
MongoDB存儲
在這里我們來看一下Python3下MongoDB的存儲操作,在本節開始之前請確保你已經安裝好了MongoDB并啟動了其服務,另外安裝好了Python的PyMongo庫。
沒有安裝的朋友們可以參考這篇文章
連接MongoDB
連接MongoDB我們需要使用PyMongo庫里面的MongoClient,一般來說傳入MongoDB的IP及端口即可,第一個參數為地址host,第二個參數為端口port,端口如果不傳默認是27017。
import pymongoclient = pymongo.MongoClient(host='localhost', port=27017)
這樣我們就可以創建一個MongoDB的連接對象了。
另外MongoClient的第一個參數host還可以直接傳MongoDB的連接字符串,以mongodb開頭,例如:
client = MongoClient('mongodb://localhost:27017/')可以達到同樣的連接效果。
指定數據庫
MongoDB中還分為一個個數據庫,我們接下來的一步就是指定要操作哪個數據庫,在這里我以test數據庫為例進行說明,所以下一步我們需要在程序中指定要使用的數據庫。
db = client.test
調用client的test屬性即可返回test數據庫,當然也可以這樣來指定:
db = client['test']
兩種方式是等價的。
指定集合
MongoDB的每個數據庫又包含了許多集合Collection,也就類似與關系型數據庫中的表,下一步我們需要指定要操作的集合,在這里我們指定一個集合名稱為students,學生集合。還是和指定數據庫類似,指定集合也有兩種方式。
collection = db.students
collection = db['students']
插入數據
接下來我們便可以進行數據插入了,對于students這個Collection,我們新建一條學生數據,以字典的形式表示:
student = { 'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}在這里我們指定了學生的學號、姓名、年齡和性別,然后接下來直接調用collection的insert()方法即可插入數據。
result = collection.insert(student)print(result)
在MongoDB中,每條數據其實都有一個_id屬性來唯一標識,如果沒有顯式指明_id,MongoDB會自動產生一個ObjectId類型的_id屬性。insert()方法會在執行后返回的_id值。
運行結果:
5932a68615c2606814c91f3d
當然我們也可以同時插入多條數據,只需要以列表形式傳遞即可,示例如下:
student1 = { 'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}student2 = { 'id': '20170202', 'name': 'Mike', 'age': 21, 'gender': 'male'}result = collection.insert([student1, student2])print(result)
新聞熱點
疑難解答