MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBで_idを指定してドキュメントを削除する方法を徹底解説

MongoDBで_idを指定してドキュメントを削除する方法

MongoDBでは、remove()メソッドを使用することで、_idを指定して特定のドキュメントを削除できます。本記事では、実際のコード例を交えながら、削除の手順をわかりやすく解説します。

基本構文

_idでドキュメントを削除する際の基本的な構文は以下のとおりです。

db.yourCollectionName.remove({_id: yourObjectId});

サンプルコレクションの作成

まず、動作を確認するために、ドキュメントを含むコレクションを作成します。

> db.demo518.insertOne({"ClientName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88b02db3fbf26334ef610e")
}
> db.demo518.insertOne({"ClientName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88b030b3fbf26334ef610f")
}
> db.demo518.insertOne({"ClientName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88b035b3fbf26334ef6110")
}

登録済みドキュメントの確認

find()メソッドを使って、コレクション内のすべてのドキュメントを表示します。

> db.demo518.find();

実行結果は以下のとおりです。

{ "_id" : ObjectId("5e88b02db3fbf26334ef610e"), "ClientName" : "Chris" }
{ "_id" : ObjectId("5e88b030b3fbf26334ef610f"), "ClientName" : "Bob" }
{ "_id" : ObjectId("5e88b035b3fbf26334ef6110"), "ClientName" : "David" }

_idを指定してドキュメントを削除する

以下のクエリを実行すると、指定した_idを持つドキュメントが削除されます。

> db.demo518.remove({_id:ObjectId("5e88b02db3fbf26334ef610e")});
WriteResult({ "nRemoved" : 1 })

「nRemoved : 1」は、1件のドキュメントが正常に削除されたことを示しています。

削除後の確認

再度find()メソッドを実行して、削除結果を確認しましょう。

> db.demo518.find();

実行結果は以下のとおりです。

{ "_id" : ObjectId("5e88b030b3fbf26334ef610f"), "ClientName" : "Bob" }
{ "_id" : ObjectId("5e88b035b3fbf26334ef6110"), "ClientName" : "David" }

「Chris」のドキュメントが削除され、残りの2件のみが表示されていることが確認できます。

補足:最新バージョンでの推奨メソッド

MongoDB 5.0以降では、remove()は非推奨(deprecated)となっており、代わりにdeleteOne()またはdeleteMany()の使用が推奨されています。単一のドキュメントを_idで削除する場合は、以下のように記述します。

db.demo518.deleteOne({_id:ObjectId("5e88b02db3fbf26334ef610e")});

deleteOne()は条件に一致した最初の1件のみを削除し、deleteMany()は条件に一致するすべてのドキュメントを削除します。新規開発では、これらのメソッドを使用するようにしましょう。

  1. Javaを使用してMongoDBのドキュメントを削除するには?基本とサンプルコード解説

    MongoDBでは、既存のコレクションからドキュメントを削除する際に remove() メソッドを使用できます。本記事では、MongoDBシェルでの削除方法と、Javaプログラムからドキュメントを削除する方法を順を追って解説します。 構文 db.coll.remove(削除条件) 各要素の意味は以下のとおりです。 db: 操作対象のデータベース coll: ドキュメントを削除したいコレクション名 例 MongoDBデータベースに students というコレクションがあり、次のドキュメントが登録されていると仮定します。 {name:Ram, age:26, city:Mumbai} {na

  2. JavaでMongoDBコレクションにドキュメントを挿入する方法を徹底解説

    MongoDBでは、insert()メソッドを使うことで、既存のコレクションにドキュメントを挿入できます。 構文 db.coll.insert(doc) 各要素の意味は以下の通りです。 db: 接続先のデータベース coll: ドキュメントを挿入するコレクション名 doc: 挿入したいドキュメント mongoシェルでの実行例 > use myDatabase() switched to db myDatabase() > db.createCollection(sample) { "ok" : 1 } > db.sample.insert({name: