$bitOr (OU Bit a Bit)
Última atualização: 2026-10-09
$bitOr (OU Bit a Bit)
$bitOr executa um OU bit a bit (OR) sobre inteiros. Disponível desde o MongoDB 6.3, aceita um array de inteiros (ou um único número). É usado para combinar bits de flag ou mesclar permissões, como empacotar vários bits de permissão em um único inteiro. Qualquer argumento nulo ou ausente resulta em null; os operandos devem ser int32 ou int64, e outros tipos geram erro. Enquanto $bitAnd lê bits, $bitOr os define, então juntos cobrem leitura e escrita de máscaras de bits.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 6.3+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $bitOr: [ <inteiro1>, <inteiro2>, ... ] }
⚙️ Parâmetros
| inteiro | Inteiros int32 ou int64, ou expressões que resolvam para eles; pelo menos dois. |
|---|
Retorno:O OR 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):
// $bitOr: mesclar bits de permissão de leitura e escrita
db.users.aggregate([
{ $project: {
combined: { $bitOr: ['$permRead', '$permWrite'] }
} }
])
Saída:
{ '_id': 1, 'combined': 6 }
{ '_id': 2, 'combined': 3 }
📌 Notas
- Apenas int32 e int64 são suportados
- Qualquer argumento nulo ou ausente torna o resultado null
- Combine com $bitAnd para leitura e escrita completas de máscaras de bits
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo $bitOr e $bitAnd diferem?
A$bitOr define um bit como 1 quando qualquer operando o tem; $bitAnd o mantém apenas quando ambos o têm.
QO $bitOr consegue mesclar permissões?
ASim, faça um OR dos bits de permissão para mesclá-los em um único inteiro.
QO que $bitOr retorna para null?
AQualquer argumento nulo ou ausente torna o resultado null.