$isoWeek (Número da Semana ISO)

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

$isoWeek (Número da Semana ISO)

$isoWeek retorna o número da semana ISO 8601 de uma data (1 a 53). As semanas ISO começam na segunda-feira, e a semana 1 é a semana que contém a primeira quinta-feira — diferente do $week no estilo americano (começa no domingo e pode retornar 0). Ótimo para estatísticas semanais internacionais; geralmente combinado com $isoWeekYear para formar uma chave de ano-semana. timezone define o limite da semana.

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

📝 Sintaxe

{ $isoWeek: { 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:Número da semana ISO (1-53); null se date for null.

▶ Exemplo

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

// $isoWeek: agregar vendas por semana ISO
db.sales.aggregate([
  { $group: {
      _id: { $isoWeek: { date: '$soldAt', timezone: 'Asia/Shanghai' } },
      total: { $sum: '$amount' }
  } }
])

Saída:

{ "_id": 39, "total": 9800 }
{ "_id": 40, "total": 10450 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é o intervalo de retorno?
ADe 1 a 53 — nunca 0.
QQual é a diferença para $week?
A$week começa no domingo e pode retornar 0; $isoWeek segue a ISO 8601 começando na segunda-feira.
QComo as semanas que atravessam anos são contadas?
AA ISO as atribui ao ano que contém a quinta-feira; use $isoWeekYear para o ano correto.
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%