PythonMongoDBドキュメントの削除
ドキュメントを削除
1つのドキュメントを削除するには、この
delete_one()
メソッドを使用します。
メソッドの最初のパラメーターは、delete_one()
削除するドキュメントを定義するクエリオブジェクトです。
注:クエリで複数のドキュメントが見つかった場合は、最初に出現したドキュメントのみが削除されます。
例
アドレスが「Mountain21」のドキュメントを削除します。
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Mountain 21" }
mycol.delete_one(myquery)
多くのドキュメントを削除する
複数のドキュメントを削除するには、この
delete_many()
メソッドを使用します。
メソッドの最初のパラメーターは、delete_many()
削除するドキュメントを定義するクエリオブジェクトです。
例
アドレスが文字Sで始まるすべてのドキュメントを削除します。
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": {"$regex": "^S"} }
x = mycol.delete_many(myquery)
print(x.deleted_count, " documents
deleted.")
コレクション内のすべてのドキュメントを削除する
コレクション内のすべてのドキュメントを削除するには、空のクエリオブジェクトをdelete_many()
メソッドに渡します。
例
「customers」コレクション内のすべてのドキュメントを削除します。
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.delete_many({})
print(x.deleted_count, " documents
deleted.")