HOWTO · MongoDB

MongoDB의 필드 비교

이 튜토리얼에서는 MongoDB에서 필드를 비교하는 방법에 대해 설명합니다.

이 페이지의 내용

경우에 따라 두 필드를 비교하여 문서를 찾아야 합니다. 예를 들어 MongoDB 컬렉션에서 문서를 선택할 때 일련 번호와 ID 번호를 고려해야 할 수 있습니다. 이 튜토리얼의 뒷부분에서 이것을 보게 될 것입니다.

이 기사에서는 MongoDB에서 두 필드를 비교하는 방법을 살펴봅니다. 또한 주제를 쉽게 이해할 수 있도록 설명과 함께 관련 예를 볼 것입니다.

MongoDB의 필드 비교

이 목적을 위해 사용할 수 있는 두 가지 기술이 있습니다. MongoDB 컬렉션에서 문서를 검색하거나 추출하는 데 사용되는 두 가지 기술 모두에 내장 메서드 find()를 사용합니다.

첫 번째 기술에서는 주로 특정 기준과 일치하는 $where 키워드를 사용합니다. 두 번째 기법에서는 $expr 키워드를 사용하여 간단한 집계를 사용하여 집계 표현식을 인수로 구현할 수 있습니다.

더 명확하게 하기 위해 예를 살펴보겠습니다.

MongoDB에서 두 필드를 비교하는 예

아래 예제에서는 MongoDB의 두 필드를 비교하는 방법을 살펴보겠습니다. slid 필드를 비교합니다.

이제 이 목적을 위한 명령은 다음과 같습니다.

$where 키워드 사용:

db.mycolletion.find( { $where : "this.sl < this.id" } );

$expr 키워드 사용:

db.mycolletion.find({$expr:{$lt:["$sl", "$id"]}})

위 명령에서 $lt는 비교 연산자입니다. 필요할 때 사용할 수 있는 다른 비교 연산자가 있습니다.

MongoDB에서 사용 가능한 비교 연산자

아래에서 MongoDB에서 집계와 함께 사용 가능한 비교 연산자를 공유했습니다.

  • $eq - 같음 연산자를 나타냅니다.
  • $ne - 같지 않음 연산자를 나타냅니다.
  • $gt - 보다 큼 연산자를 나타냅니다.
  • $gte - 크거나 같음 연산자를 나타냅니다.
  • $lt - 보다 작음 연산자를 나타냅니다.
  • $lte - 작거나 같음 연산자를 나타냅니다.
  • $in - 배열의 모든 값과 일치합니다.
  • $nin - 배열의 어떤 값과도 일치하지 않습니다.

이제 위에서 공유한 두 명령 모두 아래와 같은 결과를 제공합니다.

{ _id: ObjectId("6371fd850f19826ee6ca5138"),
  sl: 0,
  Name: 'Alen',
  id: '3'
}

참고: 올바른 컬렉션에 있는지 확인하십시오. 특정 컬렉션을 켜려면 use YourDB 명령을 사용하십시오. 그렇지 않으면 오류가 발생합니다.

이 문서에 표시된 명령은 MongoDB 데이터베이스용이며 명령은 MongoDB 콘솔에서 실행해야 합니다.