MongoDBでは、db.collection.remove() メソッドは、コレクションからドキュメントを削除します。つまり、それらを削除します。
collection partは、ドキュメントを削除するコレクションの名前です。
必要に応じて、すべてのドキュメント、一部のドキュメント、または1つのドキュメントを削除できます。
すべてのドキュメントを削除
この例では、employeesというコレクションからすべてのドキュメントを削除します。 :
db.employees.remove({}) 結果:
WriteResult({ "nRemoved" : 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.remove({ "salary": { $gt: 80000 } }) 結果:
WriteResult({ "nRemoved" : 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つのドキュメントを削除
コレクションから単一のドキュメントを削除するには、いくつかの方法があります。使用する方法は、何をする必要があるかによって異なります。
次のいずれかを実行できます:
- 特定のドキュメントを削除する
-
justOneを使用する パラメータ
特定のドキュメントを削除する
特定のドキュメントを削除する必要がある場合は、ドキュメントの_idを指定できます その特定のドキュメントを削除する値。
したがって、上記のコレクションからたとえばフリッツを削除したい場合は、彼の_idを指定できます。 3の値 。このように:
db.employees.remove({ "_id": 3 }) 結果:
WriteResult({ "nRemoved" : 1 }) そして、コレクションをもう一度確認しましょう:
db.employees.find() 結果:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 } 予想通り、フリッツは姿を消しました。
justOneを使用する パラメータ
または、justOneを使用することもできます 削除を1つのドキュメントのみに制限するパラメータ。これにより、削除基準に一致する最初のドキュメントが削除されます。
この点をできるだけ明確に示すために、コレクションから残りのすべてのドキュメントを削除してから、再入力してみましょう。
db.employees.remove({})
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 }
]) OK、コレクションに5つのドキュメントがあることがわかりました。
justOneを使用してみましょう 単一のドキュメントを削除するためのパラメータ。
db.employees.remove({}, "justOne: true") 結果:
WriteResult({ "nRemoved" : 1 }) そして、コレクションをチェックして、削除されたドキュメントを確認しましょう。
db.employees.find() 結果:
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 } 予想どおり、最初のドキュメントが削除されました。
justOne パラメータにも別の構文があります。ドキュメント内でも使用できます。メソッドに他の引数を渡す場合は、これを行う必要があります。
これが例です。
db.employees.remove(
{},
{
justOne: true,
writeConcern: { w: "majority", wtimeout: 3000 },
collation: { locale: "de", strength: 1 }
}
) 結果:
WriteResult({ "nRemoved" : 1 }) そして、コレクションをもう一度見てみましょう
db.employees.find() 結果:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 } 予想どおり、次のドキュメントが削除されました。
詳細情報
詳細については、MongoDBのドキュメントを参照してください。