mongoDB 指定したプロパティのドキュメント(レコード)を削除する

mongoDB 指定したプロパティのドキュメント(レコード)を削除する

mongoDBで、指定したプロパティのドキュメント(レコード)を削除する手順を記述してます。

環境

  • OS Ubuntu 20.04
  • MongoDB 5.0.5

手順

指定したプロパティのドキュメント(レコード)を削除するには、「db.コレクション名.remove()」に
「プロパティ」を指定します。

db.コレクション名.remove({ プロパティを指定 })

実際に、以下のデータベース「hoge」にある「foo」というコレクション(テーブル)のドキュメント(レコード)を削除してみます。

> use hoge

> db.foo.find()

{ "_id" : ObjectId("61b17ec1cf8b8f769c13688b"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61b17ec5cf8b8f769c13688c"), "name" : "jiro", "gender" : "x", "age" : 35 }
{ "_id" : ObjectId("61b17ec9cf8b8f769c13688d"), "name" : "saburo", "age" : 30, "gender" : "m" }
{ "_id" : ObjectId("61b17ecdcf8b8f769c13688e"), "name" : "jiro", "gender" : "x", "age" : 35 }
{ "_id" : ObjectId("61b17ed0cf8b8f769c13688f"), "name" : "jiro", "gender" : "x", "age" : 35 }
{ "_id" : ObjectId("61b18c46b9ee956059be9780"), "name" : "siro", "age" : 55, "gender" : "m" }

プロパティ「name」が「jiro」のものを削除します。

> db.foo.remove( { name:'jiro' })

WriteResult({ "nRemoved" : 3 })

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

> db.foo.find()

{ "_id" : ObjectId("61b17ec1cf8b8f769c13688b"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61b17ec9cf8b8f769c13688d"), "name" : "saburo", "age" : 30, "gender" : "m" }
{ "_id" : ObjectId("61b18c46b9ee956059be9780"), "name" : "siro", "age" : 55, "gender" : "m" }

条件を指定することも可能です。「age」が25以上ものを削除します。

> db.foo.remove( { age:{$gt:25} })

WriteResult({ "nRemoved" : 2 })

> db.foo.find()

{ "_id" : ObjectId("61b17ec1cf8b8f769c13688b"), "name" : "itiro", "age" : 10, "gender" : "m" }

指定できる条件は以下のようになります。

演算子Mongo演算子内容
<$lt右辺より小さい{ age:{$lt:20} }
<=$lte右辺以下{ age:{$lte:20} }
>$gt右辺より大きい{ age:{$gt:20} }
>=$gte右辺以上{ age:{$gte:20} }
!=$ne等しくない{ name:{$ne:’jiro’} }
ANDなしand条件{name:’jiro’, age: 20}
OR$oror条件db.コレクション名.find({$or:[{age:20},{age:30]})

「MongoDB Compass」から削除

「MongoDB Compass」 から削除する場合は、
対象の「ドキュメント」を選択して「ゴミ箱アイコン」をクリックします。

後は「DELETE」ボタンをクリックすれば削除完了です。