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

$bitOr(애그리게이션)

이 페이지의 내용

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

버전 6.3에 추가.

$bitOr

intlong 값의 배열에 대한 비트 단위 or 연산의 결과를 반환합니다.

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

{ $bitOr: { [ <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 단계에서 $bitOr 연산자를 사용합니다.

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

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

[
{ _id: 0, result: 127 },
{ _id: 1, result: 3 },
{ _id: 2, result: 7 }
]

다음 애그리게이션에서는 $project 단계에서 $bitOr 연산자를 사용합니다.

db.switches.aggregate( [
{
$project: {
result: {
$bitOr: [ "$a", NumberLong("63") ]
}
}
}
])

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

[
{ _id: 0, result: Long("0") },
{ _id: 1, result: Long("2") },
{ _id: 2, result: Long("3") }
]

돌아가기

$bitNot

다음

$bitXor