是否可以在架构中包含属性,例如created
时间戳,但是禁止用户在创建时设置该值(始终使用默认值)?这是专门针对API的,我希望在架构中具有一个created
值,但希望始终使用当前时间戳覆盖请求主体的值。示例:
const schema = new mongoose.Schema({
created: {
type: Date,
default: Date.now
}
});
在这种模式下,我如何才能做到,即使在初始化过程中传递了值,也被Date.now
覆盖了?
答案 0 :(得分:0)
听起来您想使用“ createdAt”时间戳,如果是这样,则可以使用不可变属性:
const Model = mongoose.model('Test', new Schema({
name: String,
createdAt: {
type: Date,
immutable: true // Make `createdAt` immutable
}
}, { timestamps: true }));