Date (Data e Hora)
Última atualização: 2026-10-09
Date (Data e Hora)
Date é o tipo data-hora do MongoDB, armazenado internamente como uma contagem de milissegundos de 64 bits desde a época Unix. Ele é construído a partir de strings de data ISO (new Date("2026-09-25")) ou timestamps em milissegundos. Datas são filtradas por faixa em consultas com $gt/$lt e afins.
| Categoria | Tipos BSON |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
new Date("<ISO string>")
new Date(<ms timestamp>)
ISODate("<ISO string>")
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// Date: pedidos criados hoje ou depois
db.orders.find({
createdAt: { $gte: new Date("2026-09-25T00:00:00Z") }
})
Saída:
// Retorna documentos com createdAt >= 2026-09-25 00:00 UTC
📌 Notas
- Armazenado como milissegundos UTC; exibido no fuso horário do cliente
- Date vs string: "2026-09-25" é uma string; new Date("2026-09-25") é uma Date
- Consultas por faixa usam $gte/$lt (intervalos semiabertos)
- Formate a saída com $dateToString na agregação
🏷️ Tags Relacionados
💡 Casos Relacionados
Excluindo documentos e primeiros passos com o Node.js
Documentos e BSON: a base dos dados do MongoDB
Inserção de documentos: uma explicação detalhada sobre `insertOne` e `insertMany`
Modelos do Mongoose e projeto de esquemas
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre Date e Timestamp?
ADate armazena um ponto no tempo em milissegundos; Timestamp é para o oplog interno (com um contador de incremento) e raramente é usado por aplicações.
QComo armazeno um timestamp em milissegundos?
AArmazene new Date(ms) como uma Date — não salve o número cru em um campo numérico.
QPosso consultar datas com strings?
AEvite — strings e Dates são tipos diferentes; comparações $gt/$lt falham silenciosamente. Armazene Dates e depois consulte-as.