MongoDB shell には、コレクションからドキュメントを削除するための次のメソッドが用意されています。
複数のドキュメントを削除するには、
db.collection.deleteMany()を使用します。単一ドキュメントを削除するには、
db.collection.deleteOne()を使用します。
このページの例は、MongoDB サンプルデータセットを参照しています。配置の設定とクラスターにサンプルデータを入力する方法については、「MongoDB スタートガイド」をご覧ください。
すべてのドキュメントの削除
コレクションからすべてのドキュメントを削除するには、空の フィルタードキュメント を{} db.collection.deleteMany()メソッドに渡します。
例
sample_mflix.movies コレクションからすべてのドキュメントを削除します。
use sample_mflix db.movies.deleteMany({})
このメソッドは、操作のステータスを含むドキュメントを返します。詳細と例については、deleteMany() を参照してください。
注意
大規模なコレクションからすべてのドキュメントを削除する場合は、db.collection.drop() メソッドを使用して削除します。コレクションの再作成 と のパフォーマンスは、 メソッドでドキュメントを削除するよりも高速になる可能性があります。コレクションを再作成する ときは、コレクションインデックスなどの指定されたコレクションパラメータも再作成する必要があります。db.collection.deleteMany()
条件に一致するすべてのドキュメントの削除
削除するドキュメントを識別する基準またはフィルターを指定できます。フィルターは読み取り操作と同じ構文を使用します。
等価条件を指定するには、クエリフィルター ドキュメントで <field>:<value> 式を使用します。
削除条件に一致するすべてのドキュメントを削除するには、 メソッドにフィルターdeleteMany() パラメーターを渡します。
例
title が "Titanic" に等しい sample_mflix.movies コレクションからすべてのドキュメントを削除する手順は、次のとおりです。
use sample_mflix db.movies.deleteMany( { title: "Titanic" } )
このメソッドは、操作のステータスを含むドキュメントを返します。詳細と例については、deleteMany() を参照してください。
条件に一致するドキュメントを 1 つのみ削除
指定したフィルターに一致するドキュメントが複数ある場合でも、指定したフィルターに一致するドキュメントを 1 つだけ削除するには、db.collection.deleteOne() メソッドを使用します。
例
cast 配列に"Brad Pitt"が含まれる sample_mflix.movies コレクションから最初のドキュメントを削除する手順は、次のとおりです。
use sample_mflix db.movies.deleteOne( { cast: "Brad Pitt" } )
注意
MongoDB はドキュメントの自然なソート順序を保持します。この順序付けは内部実装機能であり、その中の特定の構造を前提にしないようにしてください。詳細については、「自然な順序」を参照してください。
削除動作
ドキュメントの削除に関する具体的な動作の詳細については、動作を参照してください。
詳細
その他のドキュメント削除の例については、次のメソッドページを参照してください。
ドキュメントを削除するために使用できる方法については、削除方法を参照してください。