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