MongoDBでは、db.collection.deleteMany() メソッドは、filterに一致するすべてのドキュメントを削除します コレクションから。つまり、それらを削除します。
collection partは、ドキュメントを削除するコレクションの名前です。
すべてのドキュメントを削除
この例では、employeesというコレクションからすべてのドキュメントを削除します。 :
db.employees.deleteMany({}) 結果:
{ "acknowledged" : true, "deletedCount" : 5 } 結果は、5つのドキュメントが削除されたことを示しています。
選択したドキュメントを削除する
この例では、一部のドキュメントのみを削除します。
まず、従業員コレクションをもう一度入力しましょう:
db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
]) それでは、年間80,000を超える収益を上げているすべての従業員を削除しましょう。
db.employees.deleteMany({ "salary": { $gt: 80000 } }) 結果:
{ "acknowledged" : true, "deletedCount" : 2 } 今回は2つのドキュメントのみが削除されました。
コレクションを見てみましょう。
db.employees.find() 結果:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 } 予想通り、2人のトップ給与稼ぎ手が会社を辞めました。
1つのドキュメントを削除
特定のドキュメントを削除する必要がある場合は、ドキュメントの_idを指定できます その特定のドキュメントを削除するための値(またはそのドキュメントに固有の他の値)。
したがって、上記のコレクションからフリッツを削除する場合は、彼の_idを指定できます。 3の値 。このように:
db.employees.deleteMany({ "_id": 3 }) 結果:
{ "acknowledged" : true, "deletedCount" : 1 } コレクションをもう一度確認しましょう:
db.employees.find() 結果:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 } 予想通り、フリッツは姿を消しました。
詳細情報
db.collection.deleteMany() メソッドは、collationなどのオプションのパラメーターも受け入れます 、hint 、およびwriteConcern 。
詳細については、MongoDBのドキュメントを参照してください。