$bitsAllSet (Todos os Bits Definidos)

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

$bitsAllSet (Todos os Bits Definidos)

$bitsAllSet corresponde a documentos onde todos os bits nas posições fornecidas estão definidos como 1. `{ flags: { $bitsAllSet: 5 } }` (binário 101) corresponde a documentos onde o bit 0 e o bit 2 são ambos 1. Os bits são numerados a partir do menos significativo (0). Funciona em inteiros (int, long) e BinData; ideal para permissões por máscara de bits.

CategoriaBit a Bit
Versão do MongoDB3.2+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ <campo>: { $bitsAllSet: <máscara de bits ou array de posições> } }

⚙️ Parâmetros

campoO campo inteiro ou BinData a corresponder.
máscara de bitsUma máscara de bits inteira ou matriz de posições, por exemplo 5 ou [0, 2].

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

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

// $bitsAllSet: bits 0 e 2 ambos definidos
// 5 em binário é 101
db.users.find({ flags: { $bitsAllSet: 5 } })

// Equivalente: array de posições
db.users.find({ flags: { $bitsAllSet: [0, 2] } })

Saída:

// Retorna usuários cujos flags têm os bits 0 e 2 ambos definidos

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $bitsAllSet e $bitsAnySet?
A$bitsAllSet exige que cada bit listado seja 1; $bitsAnySet precisa apenas de um.
QPosso usar um array de posições em vez de uma máscara de bits?
ASim, { $bitsAllSet: [0, 2] } equivale a { $bitsAllSet: 5 }.
Q$bitsAllSet suporta floats?
ANão, apenas int, long e BinData.
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%