AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

Delete Documents

MongoDB では、削除操作はコレクションからドキュメントを削除することで構成されます。このページでは例を示しています。

MongoDB 内のドキュメントは次の方法を使用して削除できます。


➤ 右上の [言語選択] ドロップダウンメニューを使用して、以下の例の言語を設定するか、MongoDB Compass を選択します。


このページでは次の mongosh メソッドを使用します。

このページの例では、inventory コレクションを使用しています。inventory コレクションにデータを入力するには、次のコマンドを実行します。

db.inventory.insertMany( [ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }, { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" }, { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }, { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" }, { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },] );

コレクションからすべてのドキュメントを削除するには、空のフィルター ドキュメント {} を db.collection.deleteMany() メソッドに渡します。

次の例では、inventory コレクションからすべてのドキュメントを削除しています。

db.inventory.deleteMany({})

このメソッドは、操作状態を含むドキュメントを返します。詳細と例については、「deleteMany()」を参照してください。

削除するドキュメントを識別する条件またはフィルターを指定できます。フィルターは読み取り操作と同じ構文を使用します。

等価条件を指定するには、クエリフィルター ドキュメントで <field>:<value> 式を使用します。

{ <field1>: <value1>, ... }

クエリフィルター ドキュメントでは、クエリ演算子を使用して次の形式で条件を指定できます。

{ <field1>: { <operator1>: <value1> }, ... }

削除条件に一致するすべてのドキュメントを削除するには、フィルター パラメーターを deleteMany() メソッドに渡します。

次の例では、status フィールドが "A" に等しい inventory コレクションからすべてのドキュメントを削除します。

db.inventory.deleteMany({ status : "A" })

このメソッドは、操作状態を含むドキュメントを返します。詳細と例については、「deleteMany()」を参照してください。

指定されたフィルターに一致するドキュメントが複数存在する場合でも、最大で1つのドキュメントのみを削除するには、db.collection.deleteOne() メソッドを使用します。

次の例では、status が "D" である最初のドキュメントを削除しています。

db.inventory.deleteOne( { status: "D" } )

注意

MongoDB Atlas UI では一度に 1 つのドキュメントのみ削除できます。複数のドキュメントを削除するには、mongosh または MongoDB ドライバーから Atlas 配置に接続し、このページの例に従って、希望する方法を実行してください。

このセクションの例では、映画データセットのサンプルを使用します。サンプル データセットを MongoDB Atlas 配置にロードする方法について詳しくは、「サンプル データのロード」を参照してください。

MongoDB Atlas でドキュメントを削除するには、次の手順に従います。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のClustersをクリックします。

    [ Clusters (クラスター) ] ページが表示されます。

2
  1. サンプル データを含むクラスターで、[ Browse Collections ] をクリックします。

  2. 左側のナビゲーション ペインで、sample_mflix データベースを選択します。

  3. movies コレクションを選択します。

3

必要に応じて、Filter フィールドにクエリフィルター ドキュメントを指定することもできます。クエリフィルター ドキュメントは、クエリ演算子を使用して検索条件を指定します。

次のクエリフィルター ドキュメントを [Filter] 検索バーにコピーし、[Apply] をクリックします。

{ genres: "Action", rated: { $in: [ "PG", "PG-13" ] } }

このクエリ フィルターは、genres が Action に等しく、rated が PG または PG-13 に等しい sample_mflix.movies コレクション内のすべてのドキュメントを返します。

4
  1. 削除するドキュメントの上にカーソルを置き、右側に表示されるゴミ箱アイコンをクリックします。

    [削除] ボタンをクリックすると、MongoDB Atlas はドキュメントに削除のフラグを立て、確認を求めます。

  2. [Delete] をクリックして選択を確定します。

詳しくは、「ドキュメントの作成、表示、アップデート、削除 」を参照してください。

すべてのドキュメントがコレクションから削除される場合でも、削除操作によってインデックスが削除されることはありません。

注意

アトミシティと書き込み (write)認識

MongoDB の書き込み (write) 操作は、単一のドキュメントのレベルでアトミックです。詳細については、「アトミック性とトランザクション」を参照してください。

書込み保証 (write concern) を使用して、書き込み (write)操作に対して MongoDB から要求される確認応答のレベルを指定することもできます。詳細については、「書込み保証 (write concern)」を参照してください。