MongoDB の in 演算子

Tahseen Tauseef 2024年2月15日
  1. MongoDB の IN 演算子 ($in)
  2. MongoDB で $in 演算子を使用して値を一致させる
  3. MongoDB で $in 演算子を使用してドキュメントを更新する
MongoDB の in 演算子

この MongoDB チュートリアル記事では、MongoDB で $in 演算子を使用する際の問題について説明します。

MongoDB の IN 演算子 ($in)

MongoDB には、さまざまなタスクに使用される多くの演算子が付属しています。 $in 演算子を使用すると、ドキュメントを正確に見つけることができ、find() および update() メソッドをこの演算子と共に使用できます。

$in 演算子は、フィールドの値を配列内の指定された値と比較して、コレクション内のドキュメントを選択します。 ドキュメントのフィールドの値が配列の場合、MongoDB の $in 演算子は、指定された値に一致する項目が少なくとも 1つある配列をフィールドに含むドキュメントのみを選択します。

構文:

{ field: { $in: [<value1>, <value2>, ... <valuen> ] }

MongoDB で $in 演算子を使用して値を一致させる

果物店のデータベース管理システムがあり、価格、数量、重量などの果物のすべてのデータが保存されているデータベースがあるとします。 以下では、特定の値に基づいて結果が一致するドキュメントを抽出する方法について説明します。

まず、MongoDB サーバーを起動し、以下のコマンドを渡してすべてのデータベースを一覧表示し、データベースを使用します。

指図:

show dbs
use data

あなたが持っているコレクション内のすべての文書をリストアップしましょう。 次に、$in 演算子を使用して、特定の値に基づいて除外できます。

db={
  "data": [
    {
      "_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
      "onSale": false,
      "name": "Orange",
      "price": 500,
      "weight": "1 kilograms",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e7"),
      "onSale": false,
      "name": "Banana",
      "price": 350,
      "weight": "2 dozen",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e8"),
      "onSale": false,
      "name": "Apple",
      "price": 125,
      "weight": "500 grams",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e9"),
      "onSale": false,
      "name": "Mango",
      "price": 300,
      "weight": "4 kilograms",
      "__v": 0
    }
  ]
}

MongoDB で $in 演算子を使用してドキュメントを更新する

一部のドキュメントの値を更新するには、ドキュメントに対して update() メソッドを使用します。

db={
  "data": [
    {
      "_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
      "onSale": false,
      "name": "Orange",
      "price": 500,
      "weight": "1 kilograms",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e7"),
      "onSale": false,
      "name": "Banana",
      "price": 350,
      "weight": "2 dozen",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e8"),
      "onSale": false,
      "name": "Apple",
      "price": 125,
      "weight": "500 grams",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e9"),
      "onSale": false,
      "name": "Mango",
      "price": 300,
      "weight": "4 kilograms",
      "__v": 0
    }
  ]
}

果物 "りんご"価格 を変更したい場合。 このクエリを渡して、"Apple"price"200" に変更できます。

クエリ:

db.data.update({
  name: {
    $in: [
      "Apple"
    ]
  }
},
{
  $set: {
    price: 200
  }
})

クエリを実行

find() メソッドを使用すると、以下の結果が得られます。 "Apple"の価格は、update()メソッドで$in演算子を使用して125から200に更新されました。

出力:

$in 演算子を使用してデータベースの値を更新する

この MongoDB チュートリアル記事を通じて、$in 演算子とは何か、$in 演算子を使用してデータベースのコレクション内の値を照合する方法、およびデータベース内の特定のコレクションを更新または編集する方法を学びました。

関連記事 - MongoDB Operator