문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / / /

$nor

이 페이지의 내용

  • 정의
  • 예제
$nor

$nor(은)는 하나 이상의 쿼리 표현식으로 구성된 배열에서 논리적 NOR 연산을 수행하고 배열의 모든 쿼리 표현식에 실패한 문서를 선택합니다. $nor에는 다음과 같은 구문이 있습니다.

{ $nor: [ { <expression1> }, { <expression2> }, ... { <expressionN> } ] }

$nor 연산자만 사용하는 다음 쿼리를 예로 들어 보겠습니다.

db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )

이 쿼리는 다음과 같은 모든 문서를 반환합니다.

  • 값이 1.99아닌 price 필드를 포함하고 true아닌 sale 필드를 포함하거나

  • 값이 1.99 과 같지 않은 price 필드를 포함하지만 sale 필드를 포함하지 않거나

  • 필드가 price 필드를 포함하지 않고 sale 필드를 포함하지만 값이 true 와 같지 않은 경우 또는

  • price 필드 sale 필드를 포함 하지 않는 경우

다음 쿼리를 생각해 보세요.

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 연산자를 함께 사용하는 다음 쿼리와 비교해 보세요.

db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } },
{ sale: true }, { sale: { $exists: false } } ] } )

이 쿼리는 다음과 같은 모든 문서를 반환합니다.

  • 값이 1.99 와 같지 않은 price 필드를 포함하고 값이 true와 같지 않은 sale 필드를 포함합니다.

다음도 참조하세요.

← $not
$or →

이 페이지의 내용