1、 引入
在這里我們來看一下Python3下MongoDB的存儲操作,在本節開始之前請確保你已經安裝好了MongoDB並啟動了其服務,另外安裝好了Python的PyMongo庫。
1. 安裝
pip3 install pymongo
2、使用pymongo
1,連接MongoClient
使用pymongo的第一步首先是連接Client來使用服務:

2 ,獲取數據庫(database)
在MongoDB中一個實例能夠支持多個獨立的數據庫,你可以用點取屬性的方式來獲取數據庫,或者通過字典的方式獲取:

(注:'test'可以換成你想要用的名字,比如"python_database")
3 ,獲取Collection
Collection是存儲在MongoDB中的一組文件,同獲取database一樣,你可以用點取屬性的方式或者字典的方法獲取:

4 ,存儲數據
在MongoDB中,數據是以BSON的類型存儲的。見下面的post:

了解完MongoDB的數據格式后,你可以通過以下的方式插入數據(其中.inserted_id將返回ObjectId對象):

每個插入的數據對應一個ObjectId,可直接查看:

你還可以用insert_many()插入多個文檔:

5 ,從MongoDB中調用數據

但用find_one()的方法只能獲取一個數據,如果數據庫中存在多個數據時,它返回的是第一個的值。你也可以通過ObjectId來請求數據,效果和上面是一樣的。如果你想打印出全部數據,可以通過迭代的方式獲取:

你也可以加入限制性因素來獲取特定的數據:

查找條件中也可以用正則匹配來匹配calue。
6 ,更新數據
在pymongo中可以用update_one()來更新數據:
>>>posts.update_one({'x':4},{'$set':{'x':3}})
其中傳入的第一個參數是你想要更新的數據,第二個是你想要更新的最新數據。其中$set部分是必要元素,如果沒有會報出錯誤。除了$set外還有很多其它的比如$inc,對應着不同的功能,在此先不贅述。
上面只是更新匹配到的第一個數據,同樣地,也可以用update_many()一次更新多個值。
7 ,刪除數據
同上,可以用delete_one()和delete_many()方法來刪除數據,括號中是篩選條件:

8 ,計數
如果想知道collection中有多少文檔,可以用.count()請求來獲取符合條件的文檔。.
