$dayOfMonth (Obter Dia do Mês)

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

$dayOfMonth (Obter Dia do Mês)

$dayOfMonth retorna o dia do mês de uma data (1 a 31) — uma expressão comum para estatísticas em nível de dia. Aceita uma expressão de data simples ou um objeto com um fuso horário explícito. Usos típicos: agrupar pedidos por dia, montar rótulos de dia ou detectar inícios de mês. Retorna um inteiro; o dia pode diferir entre fusos, então sempre defina timezone (o padrão é UTC).

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

📝 Sintaxe

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

⚙️ Parâmetros

dateObrigatório; a expressão de data.
timezoneFuso horário opcional; o padrão é UTC.

Retorno:O dia do mês (1-31) como inteiro; null se date for null.

▶ Exemplo

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

// $dayOfMonth: obter o dia do pedido (horário de Pequim)
db.orders.aggregate([
  { $project: {
      day: { $dayOfMonth: { date: '$orderDate', timezone: 'Asia/Shanghai' } }
  } }
])

Saída:

{ "_id": 1, "day": 25 }
{ "_id": 2, "day": 1 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $dayOfMonth e %d?
A%d gera uma string de dois dígitos (05); $dayOfMonth gera um inteiro (5).
QComeça em 0 ou 1?
AComeça em 1 — o primeiro dia de um mês é 1.
QO fuso horário afeta o resultado?
ASim — UTC e fusos locais podem dar dias diferentes; defina timezone explicitamente.
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%