HOWTO · MongoDB
MongoDB의 필드 비교
이 튜토리얼에서는 MongoDB에서 필드를 비교하는 방법에 대해 설명합니다.
이 페이지의 내용
경우에 따라 두 필드를 비교하여 문서를 찾아야 합니다. 예를 들어 MongoDB 컬렉션에서 문서를 선택할 때 일련 번호와 ID 번호를 고려해야 할 수 있습니다. 이 튜토리얼의 뒷부분에서 이것을 보게 될 것입니다.
이 기사에서는 MongoDB에서 두 필드를 비교하는 방법을 살펴봅니다. 또한 주제를 쉽게 이해할 수 있도록 설명과 함께 관련 예를 볼 것입니다.
MongoDB의 필드 비교
이 목적을 위해 사용할 수 있는 두 가지 기술이 있습니다. MongoDB 컬렉션에서 문서를 검색하거나 추출하는 데 사용되는 두 가지 기술 모두에 내장 메서드 find()를 사용합니다.
첫 번째 기술에서는 주로 특정 기준과 일치하는 $where 키워드를 사용합니다. 두 번째 기법에서는 $expr 키워드를 사용하여 간단한 집계를 사용하여 집계 표현식을 인수로 구현할 수 있습니다.
더 명확하게 하기 위해 예를 살펴보겠습니다.
MongoDB에서 두 필드를 비교하는 예
아래 예제에서는 MongoDB의 두 필드를 비교하는 방법을 살펴보겠습니다. sl 및 id 필드를 비교합니다.
이제 이 목적을 위한 명령은 다음과 같습니다.
$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 콘솔에서 실행해야 합니다.