$bitAnd (E Bit a Bit)

Última atualização: 2026-10-09

$bitAnd (E Bit a Bit)

$bitAnd executa um E bit a bit (AND) sobre inteiros. Disponível desde o MongoDB 6.3, aceita um array de inteiros (ou um único número). É usado para verificações de bits de permissão, filtragem de flags e matemática de máscaras de sub-rede, como testar se um inteiro de permissão contém um determinado bit. Um argumento nulo ou ausente resulta em null; os operandos devem ser int32 ou int64, e doubles, Decimals ou outros tipos geram erro. Pertence à família bit a bit com $bitOr, $bitXor e $bitNot.

CategoriaMatemática
Versão do MongoDB6.3+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $bitAnd: [ <inteiro1>, <inteiro2>, ... ] }

⚙️ Parâmetros

inteiroInteiros int32 ou int64, ou expressões que resolvam para eles; pelo menos dois.

Retorno:O AND bit a bit de todos os operandos; null quando null ou ausente

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $bitAnd: verificar se o bit de permissão 4 está ativo
db.users.aggregate([
  { $project: {
      hasWrite: { $ne: [{ $bitAnd: ['$permissions', 4] }, 0] }
  } }
])

Saída:

{ '_id': 1, 'hasWrite': true }
{ '_id': 2, 'hasWrite': false }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO $bitAnd suporta números de ponto flutuante?
ANão — apenas int32 e int64; entrada de ponto flutuante gera erro.
QComo verifico se um bit de permissão está ativo?
AFaça um AND do valor com o bit alvo; um resultado diferente de zero significa que o bit está ativo.
QDesde qual versão o $bitAnd está disponível?
ADisponível desde o MongoDB 6.3.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%