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;