$month (Obter Mês)

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

$month (Obter Mês)

$month retorna o mês de uma data (1 a 12) — uma das expressões mais usadas para relatórios mensais. Combine com $year como chave do $group para construir uma dimensão de ano-mês. Retorna um inteiro sem zero à esquerda; use %m de $dateToString para uma string de dois dígitos. timezone define o limite do mês e tem UTC como padrão — sempre defina-o para relatórios mensais de negócios.

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

📝 Sintaxe

{ $month: { 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 mês (1-12); null se date for null.

▶ Exemplo

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

// $month + $year: totais de pedidos por mês
db.orders.aggregate([
  { $group: {
      _id: { y: { $year: { date: '$orderDate' } }, m: { $month: { date: '$orderDate' } } },
      total: { $sum: '$amount' }
  } }
])

Saída:

{ "_id": { "y": 2026, "m": 9 }, "total": 45600 }
{ "_id": { "y": 2026, "m": 10 }, "total": 52300 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QEle retorna de 1 a 12?
ASim — janeiro é 1, dezembro é 12.
QComo gerar strings no estilo 2026-09?
AUse o formato %Y-%m de $dateToString ou combine $month com $year manualmente.
QPor que minhas estatísticas mensais estão deslocadas?
AGeralmente é um problema de fuso horário — passe um fuso local como Asia/Shanghai.
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%