python操作MongoDB (pymongo模塊)


Python MongoDB

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 :

實例

import pymongo
myclient=pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]

 

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

判斷數據庫是否已存在

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

實例

import pymongo 
myclient=pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()if "xxx" in dblist:
     print("數據庫已存在!")
else:
  print("不存在")

 

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


創建集合

MongoDB 中的集合類似 SQL 的表。

創建一個集合

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

實例

impor tpymongo 
myclient=pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]
mycol = mydb["sites"]

 

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

判斷集合是否已存在

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

實例

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

 

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


增、刪、改、查等操作

import pymongo
import json
#實例化客戶端
client = pymongo.MongoClient(host="127.0.0.1",port=27017)

#選擇數據表
MongDB = client["userinfo"]

#查詢數據
res = MongDB.users.find({},{"_id":0}) #篩選條件
for i in res:
    i["_id"] = str(i.get("_id"))
    s =json.dumps(i,ensure_ascii=False)
    print(s)
#增加數據
# MongDB.users.insert_one({"name":"jack","age":12})
#修改數據
# MongDB.users.update_one({"name":"jack"},{"$set":{"name":"jaaaa"}})
#刪除數據
# MongDB.delete_one({"name":"jack"})
詳細操作:
序號 功能
1 添加數據
2 查詢數據
3 修改數據
4 數據排序
5 刪除數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM