$toInt (Converter para Inteiro de 32 Bits)
Última atualização: 2026-10-09
$toInt (Converter para Inteiro de 32 Bits)
$toInt converte um valor em um inteiro assinado de 32 bits (int BSON). Ele aceita números, strings numéricas e booleanos; null permanece null. Usos típicos: normalizar strings inteiras de sistemas externos ou arredondar floats para inteiros. Valores fora do intervalo de 32 bits (cerca de 2,1 bilhões) geram erro — use $toLong para inteiros grandes. Strings precisam ser literais inteiros; uma string fracionária como '4.5' gera erro. É o atalho de $convert para to: int.
| Categoria | Conjunto, Condição e Conversão |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $toInt: <expressão> }
⚙️ Parâmetros
| expressão | Um número, string numérica ou booleano. |
|---|
Retorno:Um int; null quando a entrada é null
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $toInt: interpretar uma string de quantidade em inteiro
db.orders.aggregate([
{ $project: {
qty: { $toInt: '$qtyStr' }
} }
])
Saída:
{ '_id': 1, 'qty': 3 }
📌 Notas
- O intervalo de 32 bits é de cerca de 2,1 bilhões; além dele gera erro, então use $toLong para números grandes
- Strings precisam ser literais inteiros; '4.5' gera erro
- true vira 1 e false vira 0
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO que acontece além do intervalo de 32 bits?
AGera erro; troque para $toLong.
QA string '4.5' consegue converter?
ANão — precisa ser um literal inteiro; strings fracionárias geram erro.
QComo ele difere de $toLong?
AA largura difere: $toInt é de 32 bits, $toLong é de 64 bits.