NodeJS Mongoose在验证器中访问“this”未定义

epggiuax  于 2023-04-29  发布在  Node.js
关注(0)|答案(1)|浏览(102)

我有以下模式:

const MediaSchema = new Schema({
  type: {
    type: String,
    required: true,
    validate: {
      validator: val => this[val] != null,
    },
  },
  image: {
    type: Schema.Types.ObjectId,
    ref: 'PostPicture',
  },
}, { timestamps: true });

本质上,我想验证如果type设置为image,那么文档上必须存在image字段。
但是,在类型this的验证器中返回undefined。我发誓我以前就用过这个。有人能提供一些见解吗?
谢谢。

efzxgjgh

efzxgjgh1#

你可以通过瓦尔keyward访问,而不需要这个关键字,如

validate: {
      validator: val => val !== null
    },

相关问题