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のドキュメントを参照してください。