防止字段在初始设置后更新

使用Mongoose或简单的MongoDB驱动程序,是否有办法locking字段从第一次设置后更新字段?

通过@eagor 在这里回答。

我通过在架构的预保存钩子中设置_createdOn (仅在第一次保存时)来实现这一效果:

 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'); } });