初始设置后防止字段更新

时间:2017-08-23 19:54:17

标签: node.js mongodb mongoose

使用Mongoose或普通的MongoDB驱动程序,有没有办法在首次设置该字段后锁定字段?

1 个答案:

答案 0 :(得分:1)

回答@eagor screenshot of example build step

我通过在架构的预保存挂钩中设置schema.pre('save', function(next) { if (!this._createdOn) { this._createdOn = new Date(); } next(); }); 来实现此效果(仅在首次保存时):

userSchema.pre('validate', function(next) {
    if (self.isModified('_createdOn')) {
        self.invalidate('_createdOn');
    }
});

......并禁止其他地方的变更:

{{1}}