2
有沒有任何方法可以標記一個字段爲未在貓鼬中修改?Mongoose.js永不保存字段通過集
我有一個貓鼬模式:
var schema = mongoose.Schema({
field : { type : String }
, fieldGenerated : { type : [String] }
});
我想要讓這個fieldGenerated
永遠不會通過model.set(...)
設置。
應當設置的唯一方法是在預存中間件:
schema.pre('save', function(next) {
// Any way to mark fieldGenerated as NOT modified here?
// I only want to set fieldGenerated if field was set.
// I don't want fieldGenerated to be set any other way.
if (this.field && this.isModified('field')) {
this.fieldGenerated = this.field.split(' ');
this.markModified('fieldGenerated');
}
next();
}
有沒有辦法做到這一點?
這是一個很好的解決方法,但它需要額外的處理再生領域時,它是沒有必要的。如果產生該領域不便宜,這是不可接受的。 – alphus