Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

$bitOr (operator de expresión)

Nuevo en la versión 6.3.

$bitOr

Devuelve el resultado de una operación a nivel de or en un arreglo de valores int y long.

El operador $bitOr tiene la siguiente sintaxis:

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

Si los operandos incluyen tanto enteros como valores largos, MongoDB extiende la señal del resultado entero calculado y devuelve un valor largo. De lo contrario, si los operadores incluyen solo números enteros o solo long, MongoDB devuelve resultados con el tipo de valor correspondiente.

Nota

Todos los números en mongosh son dobles, no enteros. Para especificar enteros en mongosh, utiliza el Int32() o el constructor Long(). Para obtener más información, consulta Int32 o Long.

Para aprender cómo tu driver de MongoDB gestiona valores numéricos, consulta la documentación del driver.

Si alguno de los argumentos en el arreglo es de un tipo de datos diferente, como un string, un double o un decimal, MongoDB devuelve un error.

Si el argumento es un arreglo vacío, la operación devuelve Int32(0).

Si alguno de los argumentos en el arreglo es igual a null, la operación devuelve null.

Los ejemplos de esta página utilizan la colección switches, que contiene los siguientes documentos:

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

La siguiente agregación utiliza el operador $bitOr en el $project etapa:

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

La operación devuelve los siguientes resultados:

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

La siguiente agregación utiliza el operador $bitOr en la etapa $project:

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

La operación devuelve los siguientes resultados:

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

Volver

$bitNot

En esta página