2014-10-13 10 views
5
var post = mongoose.Schema({ 
    ... 
    _createdOn: Date 
}); 

Ich möchte nur auf Dokumenterstellung die _createdOn Feldeinstellung ermöglichen, und nicht zuzulassen es auf zukünftige Updates zu ändern. Wie wird es in Mongoose gemacht?Mungo: nicht zulassen Aktualisierung von bestimmten Bereichen

+0

Siehe http : //docs.mongodb.org/manual/reference/operator/update/setOnInsert/ – arun

Antwort

9

erreichte ich diesen Effekt durch die _createdOn in dem Pre Schema Einstellung speichern Haken (nur beim ersten Speichern):

schema.pre('save', function(next) { 
    if (!this._createdOn) { 
     this._createdOn = new Date(); 
    } 
    next(); 
}); 

... und disallowing Änderungen von anderswo:

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