【发布时间】:2019-06-20 22:37:47
【问题描述】:
在 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 中时,我在控制台中收到以下错误:
(node:32307) UnhandledPromiseRejectionWarning: ValidationError: User 验证失败:dob:Cast to Date 值“无效日期”失败 在路径“dob”
我做错了什么?
【问题讨论】:
标签: node.js date mongoose mongoose-schema