이 버전의 문서는 보관되어 더 이상 지원되지 않습니다. 5.0 배포서버 업그레이드 하려면 MongoDB 6.0 업그레이드 절차를 참조하세요.
정의
예시
$nor 두 개의 표현식을 사용한 쿼리
$nor 연산자만 사용하는 다음 쿼리를 예로 들어 보겠습니다.
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
이 쿼리는 다음과 같은 모든 문서를 반환합니다.
값이
1.99이 아닌price필드를 포함하고true이 아닌sale필드를 포함하거나값이
1.99과 같지 않은price필드를 포함하지만sale필드를 포함하지 않거나필드가
price필드를 포함하지 않고sale필드를 포함하지만 값이true와 같지 않은 경우 또는price필드 와sale필드를 포함 하지 않는 경우
$nor 및 추가 비교
다음 쿼리를 생각해 보세요.
db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] } )
이 쿼리는 다음과 같은 inventory collection의 모든 문서를 선택합니다.
price필드 값이1.99과(와) 같지 않고, 또한qty필드 값이20이상 이며sale필드 값이true과(와) 같지 않은 경우
이러한 필드를 포함하지 않는 문서를 포함합니다.
$nor 표현식 에 필드 를 포함하지 않는 문서를 반환할 때 예외는 $nor 연산자 가 $exists 연산자 와 함께 사용되는 경우입니다.
$nor 개인정보 정책에 $exists
$nor 연산자와 $exists 연산자를 함께 사용하는 다음 쿼리와 비교해 보세요.
db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } }, { sale: true }, { sale: { $exists: false } } ] } )
이 쿼리는 다음과 같은 모든 문서를 반환합니다.
값이
1.99와 같지 않은price필드를 포함하고 값이true와 같지 않은sale필드를 포함합니다.