Python Mongodb 刪除數據

Python Mongodb Python Mongodb

我們可以使用 delete_one() 方法來刪除一個文檔,該方法第一個參數為查詢對象,指定要刪除哪些數據。

本文使用的測試數據如下(點擊圖片查看大圖):

以下實例刪除 name 字段值為 "Taobao" 的文檔:

實例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["zaixiandb"] mycol = mydb["sites"] myquery = { "name": "Taobao" } mycol.delete_one(myquery) # 刪除後輸出 for x in mycol.find(): print(x)

輸出結果為:

刪除多個文檔

我們可以使用 delete_many() 方法來刪除多個文檔,該方法第一個參數為查詢對象,指定要刪除哪些數據。

刪除所有 name 字段中以 F 開頭的文檔:

實例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["zaixiandb"] mycol = mydb["sites"] myquery = { "name": {"$regex": "^F"} } x = mycol.delete_many(myquery) print(x.deleted_count, "個文檔已刪除")

輸出結果為:

1 個文檔已刪除

刪除集合中的所有文檔

delete_many() 方法如果傳入的是一個空的查詢對象,則會刪除集合中的所有文檔:

實例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["zaixiandb"] mycol = mydb["sites"] x = mycol.delete_many({}) print(x.deleted_count, "個文檔已刪除")

輸出結果為:

5 個文檔已刪除

刪除集合

我們可以使用 drop() 方法來刪除一個集合。

以下實例刪除了 customers 集合:

實例

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

如果刪除成功 drop() 返回 true,如果刪除失敗(集合不存在)則返回 false。

我們使用以下命令在終端查看集合是否已刪除:

> use zaixiandb
switched to db zaixiandb
> show tables;

Python Mongodb Python Mongodb