$dateToParts (Dividir Data em Partes)

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

$dateToParts (Dividir Data em Partes)

$dateToParts divide uma data em um documento com year (ano), month (mês), day (dia), hour (hora), minute (minuto), second (segundo) e millisecond (milissegundo) — a inversa de $dateFromParts. Defina iso8601 como true para, em vez disso, obter isoWeekYear, isoWeek e isoDayOfWeek. Usos comuns: estatísticas agrupadas por ano/mês (como _id do $group) ou exportar datas como documentos legíveis. timezone conduz a divisão e tem UTC como padrão — sempre defina-o para relatórios entre fusos.

CategoriaData
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $dateToParts: { date: <expressão de data>, timezone: <fuso horário>, iso8601: <booleano> } }

⚙️ Parâmetros

dateObrigatório; a expressão de data a dividir.
timezoneFuso horário opcional; o padrão é UTC.
iso8601Opcional; true gera campos do calendário de semana ISO.

Retorno:Um documento com year/month/day/hour/minute/second/millisecond (ou campos ISO); null se date for null.

▶ Exemplo

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

// $dateToParts: dividir o horário do pedido em partes (horário de Pequim)
db.orders.aggregate([
  { $project: { parts: { $dateToParts: { date: '$createdAt', timezone: 'Asia/Shanghai' } } } }
])

Saída:

{ "_id": 1, "parts": { "year": 2026, "month": 9, "day": 25, "hour": 8, "minute": 30, "second": 0, "millisecond": 0 } }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQuais são os nomes dos campos de saída?
AChaves fixas: year, month, day, hour, minute, second, millisecond.
QComo agrupar estatísticas por mês?
ADivida com $dateToParts e depois use $group com _id como uma combinação de ano/mês.
QO que iso8601 faz?
AQuando true, gera campos do calendário de semanas ISO para estatísticas baseadas em semanas.
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%