정의
$in지정된 값이 배열에 있는지 여부를 나타내는 부울을 반환합니다.
참고
이 문서에서는
$in집계 연산자에 대해 설명합니다.$in쿼리 연산자는 $in(쿼리 조건자 연산자)를 참조하세요.$in에는 다음과 같은 연산자 표현식 구문이 있습니다.{ $in: [ <expression>, <array expression> ] } $in쿼리 연산자와 달리 집계$in연산자는 정규 표현식별 일치를 지원하지 않습니다.예시결과{ $in: [ 2, [ 1, 2, 3 ] ] }true{ $in: [ "abc", [ "xyz", "abc" ] ] }true{ $in: [ "xy", [ "xyz", "abc" ] ] }false{ $in: [ [ "a" ], [ "a" ] ] }false{ $in: [ [ "a" ], [ [ "a" ] ] ] }true{ $in: [ /^a/, [ "a" ] ] }false{ $in: [ /^a/, [ /^a/ ] ] }true
행동
$in $in 표현식에 정확히 두 개의 인수가 제공되지 않거나 두 번째 인수가 배열로 해석되지 않는 경우 오류와 함께 실패합니다.
예시
다음 예시에서는 sample_mflix 샘플 데이터 집합의 movies 컬렉션을 사용합니다. 배포서버에 이 데이터세트를 로드하는 방법은 샘플 데이터세트 로드를 참조하세요.
이 집계 작업은 각 영화의 genres 배열 살펴보고 문자열 "Drama"이 존재하는지 확인합니다.
db.movies.aggregate( [ { $match: { runtime: { $gt: 1000 } } }, { $project: { _id: 0, title: 1, hasDrama: { $in: [ "Drama", "$genres" ] } } } ] )
[ { title: 'Centennial', hasDrama: true }, { title: 'Baseball', hasDrama: false } ]