$type (Tipo BSON)

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

$type (Tipo BSON)

$type corresponde a documentos onde o valor de um campo é de um determinado tipo BSON. `{ age: { $type: 'int' } }` corresponde a documentos onde age é um inteiro de 32 bits. Use aliases de tipo (string, object, array, date, double) ou códigos numéricos (1 double, 2 string). A string '21' e o número 21 são tipos diferentes — uma confusão comum.

CategoriaElemento e Avaliação
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ <campo>: { $type: <tipo BSON> } }

⚙️ Parâmetros

campoO campo do documento cujo tipo será testado.
tipo BSONUm alias ou código de tipo, por exemplo 'int', 'string', 'date', 'array'.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

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

// $type: usuários cujo age é um inteiro
// int significa inteiro de 32 bits
db.users.find({ age: { $type: 'int' } })

// Vários tipos: int ou double
db.users.find({ age: { $type: ['int', 'double'] } })

Saída:

// Retorna usuários cujo age é int; a segunda consulta corresponde a int ou double

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQuais são os aliases comuns de $type?
Adouble, string, object, array, binData, objectId, bool, date, null, regex, int, long, decimal, timestamp, etc.
QComo consulto um campo do tipo data?
A{ updatedAt: { $type: 'date' } }.
Q$type pode corresponder a null?
ASim, 'null' corresponde a documentos cujo valor do campo é null (o campo deve existir).
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%