$hour (Obter Hora)

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

$hour (Obter Hora)

$hour retorna a parte de horas de uma data (0 a 23) — comum para análise de tráfego por hora, janelas de alerta ou relatórios horários. Retorna um inteiro em formato de 24 horas. timezone importa muito aqui: UTC mais 8 horas dá o horário de Pequim, então análises entre fusos devem definir timezone explicitamente ou cada intervalo desloca. O padrão é UTC.

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

📝 Sintaxe

{ $hour: { 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:A hora (0-23); null se date for null.

▶ Exemplo

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

// $hour: visitas por hora (horário de Pequim)
db.visits.aggregate([
  { $group: {
      _id: { $hour: { date: '$visitAt', timezone: 'Asia/Shanghai' } },
      pv: { $sum: 1 }
  } }
])

Saída:

{ "_id": 9, "pv": 2300 }
{ "_id": 10, "pv": 3100 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é o intervalo?
ADe 0 a 23, formato de 24 horas.
QPor que meus dados horários estão deslocados?
AProvavelmente o fuso horário — passe um fuso local como 'Asia/Shanghai'.
QConsigo gerar horas de dois dígitos como 09?
AUse o marcador %H de $dateToString.
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%