$week (Obter Número da Semana)

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

$week (Obter Número da Semana)

$week retorna o número da semana de uma data no estilo americano (0 a 53): as semanas começam no domingo, a semana 1 começa com o primeiro domingo do ano, e datas anteriores caem na semana 0. Ele difere do $isoWeek padrão ISO; prefira $isoWeek para estatísticas internacionais. Retorna um inteiro; timezone define o limite da semana e tem UTC como padrão.

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

📝 Sintaxe

{ $week: { 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 número da semana (0-53); null se date for null.

▶ Exemplo

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

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

Saída:

{ "_id": 38, "total": 8300 }
{ "_id": 39, "total": 9800 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QPor que o 0 aparece?
ADatas entre 1º de janeiro e o primeiro domingo caem na semana 0.
QQual atende negócios internacionais, $week ou $isoWeek?
AUse $isoWeek para negócios internacionais; $week é a convenção americana.
QQual é o máximo?
ADe 0 a 53, diferente dos 1 a 53 de $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%