$bitsAnySet (Qualquer Bit Definido)
Última atualização: 2026-10-09
$bitsAnySet (Qualquer Bit Definido)
$bitsAnySet corresponde a documentos onde pelo menos um dos bits nas posições fornecidas é 1. `{ flags: { $bitsAnySet: 12 } }` (binário 1100) corresponde a documentos onde o bit 2 ou o bit 3 está definido. Bom para permissões de qualquer-um. Apenas inteiros e BinData.
| Categoria | Bit a Bit |
|---|---|
| Versão do MongoDB | 3.2+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ <campo>: { $bitsAnySet: <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 12 ou [2, 3]. |
Retorno:Cursor dos documentos correspondentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $bitsAnySet: bit 2 ou bit 3 está definido
// 12 em binário é 1100
db.users.find({ flags: { $bitsAnySet: 12 } })
// Array de posições
db.users.find({ flags: { $bitsAnySet: [2, 3] } })
Saída:
// Retorna usuários cujos flags têm o bit 2 ou o bit 3 definido
📌 Notas
- Diferente de $bitsAllSet, um único bit definido é suficiente
- Bom para verificações de qualquer-permissão-permitida
- Apenas int, long e BinData
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QPara que serve $bitsAnySet?
AVerificações de qualquer-flag-ligado, ex.: passar se o usuário tiver qualquer permissão de papel.
QComo escolho entre $bitsAnySet e $bitsAllSet?
AQualquer-um usa AnySet; todos usam AllSet.
QArrays de posições e máscaras de bits podem ser misturados?
AEles são equivalentes; escolha uma forma.