В моей модели User в Mongoose у меня есть простое поле dob
без проверки формата:
dob: {
type: Date,
alias: 'birthdate'
},
В другом месте моего кода я форматирую три отдельных поля, введенных пользователем, для дня, месяца и года. Я возвращаю это как новый Date (), но с форматом YYYY-MM-DD, чтобы избежать каких-либо странных осложнений часового пояса. Дата - это дата, а время не имеет значения.
exports.formatDob = function (day, month, year) {
let dob = new Date( parseInt(year), parseInt(month) - 1, parseInt(day), 0, 0, 0, 0 );
return new Date(dob, '<YYYY-MM-DD>');
}
Когда я пытаюсь сохранить эту отформатированную дату в Mongoose, я получаю следующую ошибку в моей консоли:
(узел: 32307) UnhandledPromiseRejectionWarning: ValidationError: User
Ошибка проверки: dob: Ошибка приведения к значению «Недопустимая дата»
по пути "доб"
Что я делаю не так?