【问题标题】:Mongoose and Typescript Model requirement functionMongoose 和 Typescript 模型需求函数
【发布时间】:2020-04-24 05:07:30
【问题描述】:

我正在 mongoose 的 typescript 中创建一个模型,我想使用一个必需的函数,但是与普通的 javascript 不同,我不能使用“this”运算符,因为 typescript 无法识别范围。我想访问另一个对象属性的值,但我不知道该怎么做。这是我正在寻找的内容:

export interface IUser extends mongoose.Document {
  name: string; 
  somethingElse?: number; 
};

export const UserSchema = new mongoose.Schema({
  name: {type:String, required: true},
  somethingElse: required: function() {
     // use this.name here ......
  }

});

const User = mongoose.model<IUser>('User', UserSchema);

在这个例子中,我希望能够访问 'this.name',但是 typescript 不理解这个方法。在打字稿中执行此操作的正确方法是什么?

谢谢。

【问题讨论】:

    标签: typescript mongoose model this


    【解决方案1】:

    不确定这是否是最好的方法,但您尝试过吗?

    export interface IUser extends mongoose.Document {
      name: string; 
      somethingElse?: number; 
    };
    
    export const UserSchema = new mongoose.Schema({
      name: {type:String, required: true},
    });
    
    UserSchema.obj.somethingElse.required = function () {
      // use this.name here ......
    }
    
    const User = mongoose.model<IUser>('User', UserSchema);
    

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 2019-11-26
      • 2016-10-03
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 2018-01-18
      相关资源
      最近更新 更多