Как сохранить день рождения, как 09/14/1986
, с помощью mongoose и преобразовать его в json с toJSON
, игнорируя часовой пояс?Как правильно jsonify модель мангуста с днем рождения?
Предположим, у вас есть схема, как
schema = new mongoose.Schema({
birthday: Date
});
и хранить день рождения выше, mongoose
фактически хранит его как Date(527032800000)
. Теперь, когда вы звоните toJSON
на модель, он преобразуется в JSON.stringify
. Date
s преобразуются в строку с toISOString
, результатом которой является 1986-09-13T22:00:00.000Z
(на машине с настройкой по умолчанию в немецком часовом поясе: Europe/Berlin
). Как вы можете видеть, это не та дата, которую мы могли бы ожидать для дня рождения, потому что временной интервал интерпретируется (см. Аналогичную проблему here).
Что делать? Я не хочу потерять удобство разбора разных дней рождения и использования mongoose toJSON
.