簡體   English   中英

mongoose如何在模型中設置日期格式

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM