程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python MongoDB

編輯:Python

MongoDB 是目前最流行的 NoSQL 數據庫之一,使用的數據類型 BSON(類似 JSON)。

MongoDB 數據庫安裝與介紹可以查看我們的 MongoDB 教程。


PyMongo

Python 要連接 MongoDB 需要 MongoDB 驅動,這裡我們使用 PyMongo 驅動來連接。

pip 安裝

pip 是一個通用的 Python 包管理工具,提供了對 Python 包的查找、下載、安裝、卸載的功能。

安裝 pymongo:

$ python3 -m pip3 install pymongo

也可以指定安裝的版本:

$ python3 -m pip3 install pymongo==3.5.1

更新 pymongo 命令:

$ python3 -m pip3 install --upgrade pymongo

easy_install 安裝

舊版的 Python 可以使用 easy_install 來安裝,easy_install 也是 Python 包管理工具。

$ python -m easy_install pymongo

更新 pymongo 命令:

$ python -m easy_install -U pymongo

測試 PyMongo

接下來我們可以創建一個測試文件 demo_test_mongodb.py,代碼如下:

demo_test_mongodb.py 文件代碼:

#!/usr/bin/python3 import pymongo

執行以上代碼文件,如果沒有出現錯誤,表示安裝成功。


創建數據庫

創建一個數據庫

創建數據庫需要使用 MongoClient 對象,並且指定連接的 URL 地址和要創建的數據庫名。

如下實例中,我們創建的數據庫 runoobdb :

實例

#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]

注意: 在 MongoDB 中,數據庫只有在內容插入後才會創建! 就是說,數據庫創建後要創建集合(數據表)並插入一個文檔(記錄),數據庫才會真正創建。

判斷數據庫是否已存在

我們可以讀取 MongoDB 中的所有數據庫,並判斷指定的數據庫是否存在:

實例

#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()
# dblist = myclient.database_names()
if "runoobdb" in dblist:
print("數據庫已存在!")

注意:database_names 在最新版本的 Python 中已廢棄,Python3.7+ 之後的版本改為了 list_database_names()。


創建集合

MongoDB 中的集合類似 SQL 的表。

創建一個集合

MongoDB 使用數據庫對象來創建集合,實例如下:

實例

#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]
mycol = mydb["sites"]

注意: 在 MongoDB 中,集合只有在內容插入後才會創建! 就是說,創建集合(數據表)後要再插入一個文檔(記錄),集合才會真正創建。

判斷集合是否已存在

我們可以讀取 MongoDB 數據庫中的所有集合,並判斷指定的集合是否存在:

實例

#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient['runoobdb']
collist = mydb. list_collection_names()
# collist = mydb.collection_names()
if "sites" in collist: # 判斷 sites 集合是否存在
print("集合已存在!")

注意:collection_names 在最新版本的 Python 中已廢棄,Python3.7+ 之後的版本改為了 list_collection_names()。


增、刪、改、查等操作

下表列出了 MongoDB 的更多操作,詳情可點擊具體鏈接:

序號功能1添加數據2查詢數據3修改數據4數據排序5刪除數據
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved