$bitsAllClear (Todos os Bits Limpos)
Última atualização: 2026-10-09
$bitsAllClear (Todos os Bits Limpos)
$bitsAllClear corresponde a documentos onde todos os bits nas posições fornecidas são 0. `{ flags: { $bitsAllClear: 3 } }` (binário 11) corresponde a documentos onde os bits 0 e 1 são ambos 0. Útil para verificar se um grupo de flags está totalmente desligado. Funciona apenas em inteiros e BinData.
| Categoria | Bit a Bit |
|---|---|
| Versão do MongoDB | 3.2+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ <campo>: { $bitsAllClear: <máscara de bits ou array de posições> } }
⚙️ Parâmetros
| campo | O campo inteiro ou BinData a corresponder. |
|---|---|
| máscara de bits | Uma máscara de bits inteira ou matriz de posições, por exemplo 3 ou [0, 1]. |
Retorno:Cursor dos documentos correspondentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $bitsAllClear: bits 0 e 1 ambos 0
// 3 em binário é 11
db.users.find({ flags: { $bitsAllClear: 3 } })
// Equivalente: array de posições
db.users.find({ flags: { $bitsAllClear: [0, 1] } })
Saída:
// Retorna usuários cujos flags têm os bits 0 e 1 ambos limpos
📌 Notas
- Complemento de $bitsAllSet: tudo-0 vs tudo-1
- Apenas inteiros (int, long) e BinData
- Também verifica um único bit: { $bitsAllClear: [n] }
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo verifico que um bit é 0?
AUse $bitsAllClear: [posição], ex.: [2] testa se o bit 2 é 0.
QQual é a diferença entre $bitsAllClear e $bitsAnyClear?
A$bitsAllClear exige que cada bit listado seja 0; $bitsAnyClear precisa apenas de um.
QQuais tipos são suportados?
AApenas int, long e BinData.