Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$bitXor (operador de expresión)

Nuevo en la versión 6.3.

$bitXor

Devuelve el resultado de una operación bit a bit xor (o exclusivo) en un arreglo de valores de int y long.

El operador $bitXor tiene la siguiente sintaxis:

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

Si los operandos incluyen enteros y valores long, MongoDB extiende el resultado entero calculado y devuelve un valor long. De lo contrario, si los operandos incluyen solo enteros o 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 utilice Int32() el Long() constructor o. Para obtener más información, consulte 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 de la matriz es de un tipo de datos diferente, como una cadena, un doble o un decimal, MongoDB devuelve un error.

Si el argumento es una matriz vacía, la operación devuelve Int32(0).

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

El ejemplo de esta página utiliza la colección switches:

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 $bitXor en el $project escenario:

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

La operación devuelve los siguientes resultados:

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

Volver

$bitOr

En esta página