$isoWeekYear (Ano da Semana ISO)

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

$isoWeekYear (Ano da Semana ISO)

$isoWeekYear retorna o ano ao qual pertence a semana ISO de uma data, usado com $isoWeek. Como as semanas ISO podem atravessar anos (31 de dezembro pode cair na semana 1 do ano seguinte), o ano da semana pode diferir do ano de calendário — apenas $isoWeekYear dá a atribuição correta. Uso típico: construir uma chave de agrupamento ano-semana. timezone define o limite da semana.

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

📝 Sintaxe

{ $isoWeekYear: { 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 ano da semana ISO; null se date for null.

▶ Exemplo

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

// $isoWeekYear + $isoWeek: agrupamento ano-semana
db.sales.aggregate([
  { $group: {
      _id: { y: { $isoWeekYear: { date: '$soldAt' } }, w: { $isoWeek: { date: '$soldAt' } } },
      total: { $sum: '$amount' }
  } }
])

Saída:

{ "_id": { "y": 2026, "w": 39 }, "total": 9800 }
{ "_id": { "y": 2026, "w": 40 }, "total": 10450 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença para $year?
A$year é o ano de calendário; $isoWeekYear é o ano ISO da semana — eles podem diferir em semanas que atravessam anos.
QQuando preciso dele?
APara agrupamento ano-semana, combine $isoWeekYear com $isoWeek como chave.
QÉ útil sozinho?
ANão muito — ele só expressa a atribuição da semana junto com $isoWeek.
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%