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()
-
前の記事
javascript setの結合処理で「スプレッド構文」と「addを使用した関数」のパフォーマンスを計測する 2022.10.12
-
次の記事
Rust ベクタ(可変配列)の値から先頭が一致する配列以外を抽出する 2022.10.12
コメントを書く