Mongooe之前/之后更新挂钩

时间:2019-11-07 17:25:18

标签: node.js mongodb mongoose mongoose-schema

我有一个带有“状态”字段的“用户”模式,我想跟踪该字段的更改,因此,当用户将状态字段更改为“锁定”时,将执行作业。

用猫鼬做哪种方式?

我希望能听到“状态”文件中的更新更改,如果状态更新为“已锁定”,我想调用第三方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();
});

0 个答案:

没有答案