猫鼬Schema.pre('save')钩子不适用于指定为Map结构'{type:Map,of:...}'的子模式

时间:2018-08-27 16:36:12

标签: mongodb express mongoose

我正试图为我的子模式触发一个猫鼬钩子:

export const TypeConsultationSchema: Schema = new Schema({
  days: {
    type: Map,
    of: MySchema
  },
});

export const MySchema: Schema = new Schema({
  updatedAt: Number,
  updatedBy: Number,
  field: String,
});

MySchema.pre('save', function(next: HookNextFunction) {
   // it doesn't work
});

..它不起作用。但是,如果我将父模式中的类型从Map更改为简单子模式,则它实际上可以工作:

export const TypeConsultationSchema: Schema = new Schema({
  days: MySchema,
});

export const MySchema: Schema = new Schema({
  updatedAt: Number,
  updatedBy: Number,
  field: String,
});

MySchema.pre('save', function(next: HookNextFunction) {
   // it works
});

在这种情况下,我应该做错什么?我只想使用 Map of ...

pre save hook

0 个答案:

没有答案