[英]mongoose how to set date format in model
我是猫鼬的新手。 我使用“Date”作为我的“holidayDate”列的类型。 我想在我的“holidayDate”列中只存储日期而不是时间,所以有没有办法在域模型中定义日期格式,所以当我的域名保存时,我的“holidayDate”列值将根据域模型的日期格式保存。
var HolidaySchema = new Schema({
holidayName: {
type: String,
default: '',
required: 'Please fill holiday name',
trim: true
},
holidayDate: {
type: Date,
required: 'Please fill From Date'
}
});
mongoose.model('Holiday', HolidaySchema);
MongoDB的底层存储引擎(BSON)没有日期 - 无时间类型,只有完整日期(有关MongoDB文档中BSON类型的详细信息,请参阅此页面 )。
这样做的结果是,您需要在代码中处理它,方法是确保在插入和查询时将时间设置为(例如)00:00:00,或者将其存储为其他类型(例如yyyy-mm-dd
字符串或整数)。 哪个最合适将取决于您查询和使用该日期的要求。
从文档中,如果在您的架构中,您有一个日期类型字段,例如
holidayDate: {
type: Date,
required: 'Please fill From Date'
}
当您创建假日文档时,Mongoose将使用Date()构造函数将值转换为本机JavaScript日期
const holiday = new Holiday({
holidayDate:'2012-12-19'
});
holiday.holidayDate instanceof Date; // true
验证文档时,无效日期将导致CastError。
const holiday = new Holiday({
holidayDate:'invalid date'
});
holiday.holidayDate instanceof Date; // false
holiday.validateSync().errors['lastActiveAt']; // CastError
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.