$toLong (Converter para Inteiro de 64 Bits)

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

$toLong (Converter para Inteiro de 64 Bits)

$toLong converte um valor em um inteiro assinado de 64 bits (long BSON), com um intervalo muito maior do que o int — ideal para timestamps, IDs e outros inteiros grandes. Ele aceita números, strings numéricas e booleanos; null permanece null. Usos típicos: converter strings de ID de alta precisão em números ou lidar com timestamps em segundos/milissegundos. Strings precisam ser literais inteiros. É o atalho de $convert para to: long; misturar int e long em aritmética promove automaticamente para long.

CategoriaConjunto, Condição e Conversão
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $toLong: <expressão> }

⚙️ Parâmetros

expressãoUm número, string numérica ou booleano.

Retorno:Um long; null quando a entrada é null

▶ Exemplo

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

// $toLong: interpretar uma string de timestamp em número
db.events.aggregate([
  { $project: {
      ts: { $toLong: '$tsStr' }
  } }
])

Saída:

{ '_id': 1, 'ts': 1780000000000 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQuando devo usar $toLong?
AQuando os valores podem ultrapassar cerca de 2,1 bilhões, como timestamps e IDs grandes.
QO que acontece quando é misturado com $toInt?
AO resultado promove automaticamente para long.
QO que null retorna?
AEle retorna null.
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%