MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Bietet Mongoose Zugriff auf den vorherigen Wert des Eigentums in pre('save')?

Die akzeptierte Antwort funktioniert sehr gut. Es kann auch eine alternative Syntax verwendet werden, wobei der Setter in die Schemadefinition eingebunden ist:

var Person = new mongoose.Schema({
  name: {
    type: String,
    set: function(name) {
      this._previousName = this.name;
      return name;
    }
});

Person.pre('save', function (next) {
  var previousName = this._previousName;
  if(someCondition) {
    ...
  }
  next();
});