Mongooe до / после обновления крючок - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть схема «Пользователь» с полем «статус», я хочу отслеживать изменения в этом поле, поэтому, когда пользователь меняет поле статуса на «заблокировано», задание выполняется.

Какой способ сделать это с мангустом ?.

Я ожидаю прослушать изменение обновления в поле «статус», если статус обновлен до «заблокирован», я хотел бы вызвать сторонний API для блокировки пользователя из приложения

Я попробовал следующее

const usersSchema = new mongoose.Schema({
  status: {type: String, default: 'active', required: true, enum: ['active', 'locked']},
}, {timestamps: {createdAt: 'createdDate', updatedAt: 'modifedDate'}});

usersSchema.pre('updateOne', function(next) {
  console.log('pre save');
  if (this.getUpdate().status) {
    // Run job ie call an third pary api to block the user from the application 
    console.log('do a job');
  }
  next();
});
...