Python3 Mongodb 刪除數(shù)據(jù)

2023-03-15 14:36 更新

Python Mongodb Python Mongodb

我們可以使用 delete_one() 方法來(lái)刪除一個(gè)文檔,該方法第一個(gè)參數(shù)為查詢對(duì)象,指定要?jiǎng)h除哪些數(shù)據(jù)。

本文使用的測(cè)試數(shù)據(jù)如下:


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

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

輸出結(jié)果為:

{'_id': ObjectId('641158f8d1ab301cbe174ae0'), 'name': 'w3cschool', 'alexa': '12345', 'url': 'http://m.o2fo.com'}
{'_id': ObjectId('6411590bd0760c001bb1780a'), 'name': 'Google', 'alexa': '1', 'url': 'https://www.google.com'}
{'_id': ObjectId('64115917fb6cbcb2d798f776'), 'name': 'QQ', 'alexa': '101', 'url': 'https://www.qq.com'}
{'_id': ObjectId('64115917fb6cbcb2d798f777'), 'name': 'Facebook', 'alexa': '123', 'url': 'https://www.facebook.com'}
{'_id': ObjectId('64115917fb6cbcb2d798f778'), 'name': '知乎', 'alexa': '103', 'url': 'https://www.zhihu.com'}
{'_id': ObjectId('64115917fb6cbcb2d798f779'), 'name': 'Github', 'alexa': '109', 'url': 'https://www.github.com'}

刪除多個(gè)文檔

我們可以使用 delete_many() 方法來(lái)刪除多個(gè)文檔,該方法第一個(gè)參數(shù)為查詢對(duì)象,指定要?jiǎng)h除哪些數(shù)據(jù)。

刪除所有 name 字段中以 F 開(kāi)頭的文檔:

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

輸出結(jié)果為:

1 個(gè)文檔已刪除

刪除集合中的所有文檔

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

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

輸出結(jié)果為:

5 個(gè)文檔已刪除

刪除集合

我們可以使用 drop() 方法來(lái)刪除一個(gè)集合。

以下實(shí)例刪除了 customers 集合:

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

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

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

> use w3cschooldb
switched to db w3cschooldb
> show tables;


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)