$currentDate (Data Atual)

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

$currentDate (Data Atual)

$currentDate define um campo com a hora atual como Date ou Timestamp. `{ $currentDate: { lastModified: true } }` armazena uma Date por padrão; `{ $currentDate: { lastModified: { $type: 'timestamp' } } }` armazena um Timestamp. Mais preciso que new Date() no lado do cliente e evita divergência de relógio entre servidor e cliente.

CategoriaAtualização de Campo
Versão do MongoDB3.6+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $currentDate: { <campo>: true | { $type: 'timestamp' | 'date' } } }

⚙️ Parâmetros

campoO campo a definir com a hora atual.
tipotrue armazena um Date; 'timestamp' ou 'date' podem ser explícitos.

Retorno:O resultado da atualização

▶ Exemplo

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

// $currentDate: registra o momento da modificação
// true armazena uma Date por padrão
db.articles.updateOne(
  { _id: 1 },
  { $currentDate: { lastModified: true } }
)

// Timestamp explícito
db.articles.updateOne(
  { _id: 1 },
  { $currentDate: { lastModified: { $type: 'timestamp' } } }
)

Saída:

// lastModified é definido com a hora do servidor como Date ou Timestamp

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $currentDate e $set: new Date()?
A$currentDate lê o relógio do servidor de forma consistente; $set usa a hora do cliente, que pode diferir entre clientes.
QEle pode armazenar um Timestamp?
ASim, especifique { $type: 'timestamp' }.
Q$currentDate sobrescreve valores existentes?
ASim, ele sobrescreve com a hora atual.
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%