【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【MongoDB】データ(ドキュメント)を削除する方法

本記事では、MongoDBでコレクションに保存されているデータ(ドキュメント)を削除する方法について解説しています。

Node.jsの学習におすすめ書籍
Node.js超入門[第4版]
総合評価
( 5 )
メリット
  • 今月出版されたNode.js超入門 第3版の改訂版
  • 最新のNode.jsを学ぶことができる
楽天ブックス
¥3,300 (2024/11/22 07:19時点 | 楽天市場調べ)
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

データ(ドキュメント)を削除

データを追加するには、「db.collection.deleteOne()」「db.collection.deleteMany()」の2つの方法があります。

データを削除するメソッドの違い
  • deleteOne():削除対象のデータが一つ
  • deleteMany():削除対象のデータが複数

単一のデータ(ドキュメント)を削除

単一データを削除する方法は以下のとおりです。

db.collection.deleteOne({key: value})
メソッドの解説
  • collection:削除したいデータが保存されているコレクションを指定
  • key:削除対象の絞り込みで使用するキー
  • value:削除対象の絞り込みで使用する値

実際に単一データを削除した実行結果は以下のとおりです。

# ===== personコレクションに保存されているデータ  =====
{ "_id" : ObjectId("62ca4d299ca59944c7c38a67"), "name" : "John", "age" : 18, "sex" : "man" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a68"), "name" : "Catherine", "age" : 22, "sex" : "woman" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a69"), "name" : "Michael", "age" : 25, "sex" : "man" }
# ==========================

> db.person.deleteOne({name: "John"})
{ "acknowledged" : true, "deletedCount" : 1 }

> db.person.find()
{ "_id" : ObjectId("62ca4d299ca59944c7c38a68"), "name" : "Catherine", "age" : 22, "sex" : "woman" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a69"), "name" : "Michael", "age" : 25, "sex" : "man" }

複数のデータ(ドキュメント)を削除

複数データを削除する方法は以下のとおりです。

db.collection.deleteMany({key: value})
メソッドの解説
  • collection:削除したいデータが保存されているコレクションを指定
  • key:削除対象の絞り込みで使用するキー
  • value:削除対象の絞り込みで使用する値

使い方はdeleteOne()と変わりません。絞り込まれた削除対象のデータが複数存在した場合、それらを全て削除します。

実際に複数データを削除した実行結果は以下のとおりです。

# ===== personコレクションに保存されているデータ  =====
{ "_id" : ObjectId("62ca4d299ca59944c7c38a67"), "name" : "John", "age" : 18, "sex" : "man" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a68"), "name" : "Catherine", "age" : 22, "sex" : "woman" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a69"), "name" : "Michael", "age" : 25, "sex" : "man" }
# ==========================

> db.person.deleteMany({sex: "man"})
{ "acknowledged" : true, "deletedCount" : 2 }

> db.person.find()
{ "_id" : ObjectId("62ca4d299ca59944c7c38a68"), "name" : "Catherine", "age" : 22, "sex" : "woman" }

全てのデータ(ドキュメント)を削除

全てのデータを削除する方法は以下のとおりです。

db.collection.deleteMany({})
メソッドの解説
  • collection:削除したいデータが保存されているコレクションを指定
  • {}:空のオブジェクトを引数に渡す

実際に全てのデータを削除した実行結果は以下のとおりです。

# ===== personコレクションに保存されているデータ  =====
{ "_id" : ObjectId("62ca4d299ca59944c7c38a67"), "name" : "John", "age" : 18, "sex" : "man" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a68"), "name" : "Catherine", "age" : 22, "sex" : "woman" }
{ "_id" : ObjectId("62ca4d299ca59944c7c38a69"), "name" : "Michael", "age" : 25, "sex" : "man" }
# ==========================

> db.person.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 3 }

> db.person.find()

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次