Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

$bitXor (집계)

이 페이지의 내용

  • 정의
  • 구문
  • 행동
  • 예시
  • 자세히 알아보기

버전 6.3에 추가.

$bitXor

intlong 값의 배열에 대한 비트별 xor (배타적 논리합) 연산의 결과를 반환합니다.

$bitXor 연산자의 구문은 다음과 같습니다.

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

피연산자에 정수와 긴 값이 모두 포함된 경우 MongoDB는 계산된 정수 결과를 부호 확장하고 긴 값을 반환합니다. 그렇지 않고 피연산자에 정수만 있거나 long만 포함된 경우 MongoDB는 해당 값 유형으로 결과를 반환합니다.

참고

mongosh 의 모든 숫자는 정수가 아닌 더블입니다. mongosh 에서 정수를 지정하려면 NumberInt() 또는 NumberLong() 생성자를 사용합니다. 학습 보려면 Int32 또는 Long을 참조하세요.

MongoDB 드라이버가 숫자 값을 처리하는 방법을 알아보려면 드라이버 설명서를 참조하세요.

배열의 인수가 문자열, 이중 또는 십진수와 같은 다른 데이터 유형인 경우 MongoDB는 오류를 반환합니다.

인수가 빈 배열인 경우 연산은 NumberInt(0) 을 반환합니다.

배열의 인수 중 null 에 해당하는 인수가 하나라도 있으면 null 이(가) 반환됩니다.

이 페이지의 예제에서는 switches collection을 사용합니다.

db.switches.insertMany( [
{ _id: 0, a: NumberInt(0), b: NumberInt(127) },
{ _id: 1, a: NumberInt(2), b: NumberInt(3) },
{ _id: 2, a: NumberInt(3), b: NumberInt(5) }
] )

다음 집계 은 $project 단계에서 $bitXor 연산자 를 사용합니다.

db.switches.aggregate( [
{
$project: {
result: {
$bitXor: ["$a", "$b"]
}
}
}
])

이 연산은 다음과 같은 결과를 반환합니다.

[
{ _id: 0, result: 127 },
{ _id: 1, result: 1 },
{ _id: 2, result: 6 }
]
  • 집계 연산자

  • 비트

돌아가기

$bitOr