Mon goose и функция требования Typescript Model - PullRequest
0 голосов
/ 06 января 2020

Я создаю модель в машинописи в mon goose, и я хотел бы использовать требуемую функцию, однако, в отличие от обычной javascript, я не могу использовать оператор 'this', поскольку машинопись не распознает область действия. Я хотел бы получить доступ к значению другого свойства объекта, но я не уверен, как это сделать. Вот что я ищу:

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', но машинопись не понимает этот метод. Как правильно сделать это в машинописи?

Спасибо.

1 Ответ

0 голосов
/ 06 января 2020

Не уверен, что это лучший способ сделать это, но вы пробовали это?

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);
...