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 연산자는 제공된 값과 일치하는 항목이 하나 이상 있는 배열을 필드에 포함하는 문서만 선택합니다.

통사론:

{ 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() 메서드를 사용하면 아래와 같은 결과를 얻을 수 있습니다. update() 메서드에서 $in 연산자를 사용하여 "Apple"의 가격이 125에서 200으로 업데이트되었습니다.

출력:

$in 연산자를 사용하여 데이터베이스의 값 업데이트

이 MongoDB 튜토리얼 기사를 통해 $in 연산자가 무엇인지, $in 연산자를 활용하여 데이터베이스 컬렉션의 값을 일치시키는 방법, 데이터베이스에서 주어진 컬렉션을 업데이트하거나 편집하는 방법을 배웠습니다.

관련 문장 - MongoDB Operator