Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Horário errado no Mongodb

Bom dia, quando coloco no schema do MongoDB:

    data: {
        type: Date,
        default: Date.now
    },

A hora está cadastrando errada. Como corrigir isso?

4 respostas

O que você chama de errado? Ficou muito vago.

No caso, o erro é porque a hora está cadastrando com uma diferença de 3 horas pra mais. Por exemplo, quando faço um cadastro às 10:00 horas, no banco armazena 13:00 horas.

solução!

MongoDB grava as datas com UTC e não há como modificarmos isso. Você sempre verá as datas diferentes. Isso foi feito para lidar com datas de diferentes fuso horários, o que é uma vantagem.

https://pt.stackoverflow.com/questions/52539/hor%C3%A1rio-errado-no-mongodb

Se isso é um problema para você, terá que transformar as datas para o padrão esperado.

Há um exemplo aqui que usa a biblioteca moment.

https://stackoverflow.com/questions/43590745/mongoose-saving-and-retrieving-dates-with-utc-time-change-to-server-timezone/43591331

E um exemplo mais enxuto:

https://stackoverflow.com/questions/32540667/moment-js-utc-to-local-time

Era exatamente isso, obrigado Flávio.