$bit (Atualização Bit a Bit)

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

$bit (Atualização Bit a Bit)

$bit realiza operações bit a bit em campos inteiros: AND, OR, XOR. `{ $bit: { flags: { and: 254 } } }` limpa o bit menos significativo. É atômico e, diferente da maioria dos operadores de atualização, não cria um campo ausente — ele gera erro. Ideal para permissões compactas por máscara de bits e flags, complementando os operadores de consulta $bits*.

CategoriaAtualização de Array
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $bit: { <campo>: { and: <valor> | or: <valor> | xor: <valor> } } }

⚙️ Parâmetros

campoO campo inteiro ao qual aplicar operações bit a bit.
operação bit a bitUm de and, or, xor com um valor de máscara de bits.

Retorno:O resultado da atualização

▶ Exemplo

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

// $bit: AND para limpar o bit menos significativo
// 254 em binário é 11111110
db.users.updateOne(
  { _id: 1 },
  { $bit: { flags: { and: 254 } } }
)

// OR para definir o bit 0
db.users.updateOne(
  { _id: 1 },
  { $bit: { flags: { or: 1 } } }
)

Saída:

// O bit menos significativo é limpo; o segundo exemplo define o bit 0

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQuais operações $bit suporta?
AAND, OR e XOR.
QO que acontece se o campo de $bit estiver ausente?
AEle gera erro em vez de criar; inicialize com $set primeiro.
QComo defino ou limpo um único bit?
ADefina com or: 1 deslocado n à esquerda; limpe com and: o NOT bit a bit disso.
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%