[英]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.