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

MongoDBで配列から特定の要素を削除する方法($pull演算子の使い方)

MongoDBの配列から特定の要素を削除したい場合は、$pull 演算子を使用します。この記事では、実際のコレクションを作成しながら、$pull を使った要素の削除手順を具体的に解説します。

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

まず、insertOne() メソッドを使って、名前のリストを持つドキュメントを含むコレクションを作成しましょう。

> db.demo125.insertOne({"ListOfNames":["John","Chris","Bob","David","Carol"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2f304068e7f832db1a7f55")
}

2. ドキュメントの確認

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

> db.demo125.find().pretty();

実行すると、次のような出力が得られます。

{
   "_id" : ObjectId("5e2f304068e7f832db1a7f55"),
   "ListOfNames" : [
      "John",
      "Chris",
      "Bob",
      "David",
      "Carol"
   ]
}

3. $pull を使って特定の要素を削除する

以下は、配列から特定の要素(ここでは「David」)を削除するためのクエリです。$in 演算子と組み合わせることで、削除対象の値を指定できます。また、multi: true オプションを付けることで、条件に一致するすべてのドキュメントに対して一括更新が可能になります。

> db.demo125.update(
... { },
... { $pull: { ListOfNames: { $in: [ "David"] }} },
... { multi: true }
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

4. 削除結果の確認

再度 find() メソッドを実行して、要素が正しく削除されたかを確認しましょう。

> db.demo125.find().pretty();

実行すると、「David」が配列から取り除かれたことがわかります。

{
   "_id" : ObjectId("5e2f304068e7f832db1a7f55"),
   "ListOfNames" : [
      "John",
      "Chris",
      "Bob",
      "Carol"
   ]
}

まとめ

MongoDBで配列から特定の要素を削除するには、$pull 演算子を使います。複数の値を同時に削除したい場合は $in と組み合わせ、複数ドキュメントへの一括適用には { multi: true } を指定するのがポイントです。

  1. JavaScriptで配列から特定の要素を削除する方法|splice()メソッドの使い方

    JavaScriptで配列から特定の要素を削除するには、splice()メソッドを使用します。splice()メソッドは、既存の要素を削除すると同時に新しい要素を追加できる、配列の内容を直接変更するメソッドです。 splice()メソッドのパラメータ index:配列の変更を開始する位置(インデックス番号)。 howMany:削除する要素の数を表す整数。0を指定した場合は、何も削除されません。 element1, ..., elementN:配列に追加する要素。要素を指定しない場合、splice()は単に該当する要素を削除するだけの動作になります。 以下のコードを実行すると、JavaS

  2. Swiftの配列から特定の要素を削除する方法を徹底解説

    Swiftで配列から特定の要素を削除したい場合、いくつかの方法があります。この記事では、実際のコード例を交えながら、代表的な2つの方法をわかりやすく解説します。 まずは、String型の配列を用意しましょう。 var arrayOfString = [a,b,c,f] この配列を使って、以下の2つの方法で特定の要素を削除していきます。 方法1:filterメソッドを使う Swiftの配列にはfilterメソッドが標準で用意されています。これは、指定した条件に基づいて要素を絞り込み、新しい配列として返すメソッドです。削除したい要素を条件から除外することで、実質的にその要素を取り除くことができます