$nor
정의
예시
$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
필드를 포함합니다.