Docs Menu
Docs Home
/ /

$bitAnd (operador de expresión)

Nuevo en la versión 6.3.

$bitAnd

Devuelve el resultado de una operación de and bit a bit en un arreglo con los valores int o long.

El $bitAnd El operador tiene la siguiente sintaxis:

{ $bitAnd: [ <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 enmongoshson dobles, no enteros. Para especificar enteros enmongosh, utilice el constructor Int32() o Long(). Para obtener más información, consulte Int32o Long.

Para saber cómo su controlador MongoDB maneja los valores numéricos, consulte la documentación de su controlador.

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(-1).

Si alguno de los operandos equivale 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 en $bitAnd el $project escenario:

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

La operación devuelve los siguientes resultados:

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

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

db.switches.aggregate( [
{
$project: {
result: {
$bitAnd: [ "$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") }
]
  • Expresiones

  • $bit

Volver

$binarySize

En esta página