python mongoDBに接続してドキュメントを削除する

python mongoDBに接続してドキュメントを削除する

pythonで、mongoDBに接続してドキュメントを削除するサンプルコードを記述してます。pythonのバージョンは3.9.7を使用してます。

環境

  • OS windows 11 Home
  • python 3.9.7

pymongoインストール

ライブラリ「pymongo」を使用するのでインストールしてない場合は、
「pip」を使ってインストールします。

pipenv install pymongo

サンプルコード

localhostにある「mongoDB」に接続して、以下のドキュメント「foo」のデータの削除を行います。

> db.foo.find()

{ "_id" : ObjectId("61c5a13b7bebd717eeaebe63"), "name" : "itiro", "age" : 100, "gender" : "m" }
{ "_id" : ObjectId("61c92c5a4ba1d54e9e93d511"), "name" : "nanashi", "age" : 200, "gender" : "m" }
{ "_id" : ObjectId("61c92d32c7e1fefb390adeaf"), "name" : "nanashi", "age" : 200, "gender" : "m" }
{ "_id" : ObjectId("61c92d32c7e1fefb390adeb0"), "name" : "saburo", "age" : 300, "gender" : "m" }
{ "_id" : ObjectId("61c9391684c2373d5050becb"), "name" : "nanashi", "age" : 50, "gender" : "x" }

「name」が「nanashi」のものを更新します。最初の1件だけ更新されます。

from pymongo import MongoClient

client = MongoClient("mongodb://testuser:pwd@localhost:27017")

db = client["huga"]

collection = db["foo"]

collection.delete_one({ "name": "nanashi" })
    
client.close()

データが削除されていることが確認できます。

> db.foo.find()

{ "_id" : ObjectId("61c5a13b7bebd717eeaebe63"), "name" : "itiro", "age" : 100, "gender" : "m" }
{ "_id" : ObjectId("61c92d32c7e1fefb390adeaf"), "name" : "nanashi", "age" : 200, "gender" : "m" }
{ "_id" : ObjectId("61c92d32c7e1fefb390adeb0"), "name" : "saburo", "age" : 300, "gender" : "m" }
{ "_id" : ObjectId("61c9391684c2373d5050becb"), "name" : "nanashi", "age" : 50, "gender" : "x" }

指定したものを全て削除

指定したものを全て削除する場合は「delete_many」を使用します。

from pymongo import MongoClient

client = MongoClient("mongodb://testuser:pwd@localhost:27017")

db = client["huga"]

collection = db["foo"]

collection.delete_many({ "name": "nanashi" })
    
client.close()

実行結果

> db.foo.find()

{ "_id" : ObjectId("61c5a13b7bebd717eeaebe63"), "name" : "itiro", "age" : 100, "gender" : "m" }
{ "_id" : ObjectId("61c92d32c7e1fefb390adeb0"), "name" : "saburo", "age" : 300, "gender" : "m" }

全て削除

全て削除する場合は「drop」を使用します。

from pymongo import MongoClient

client = MongoClient("mongodb://testuser:pwd@localhost:27017")

db = client["huga"]

collection = db["foo"]

collection.drop()
    
client.close()