Я использую mongoose с typescript и jsonwebtoken для создания API для входа в систему. я новичок в машинописи. в user.model я не могу получить доступ к любому свойству схемы, используя этот метод. например, user.methods дает мне ошибку компиляции «Токены свойства» не существуют для типа «Документ».ts(2339).
export interface IUser extends Document {
name:string,
email: string;
password: string;
tokens: {token: string}[],
encryptPassword(password:string): Promise<string>;
validatePassword(password:String): Promise<boolean>;
}
const userSchema = new Schema({
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
unique: true,
required: true
},
password:{
type:String,
required: true,
minlength: 5,
trim: true
},
tokens: [{
token: {
type: String,
required: true
}
}]
})
userSchema.methods.generateAuthToken = async function () {
const user = this
const token = jwt.sign({_id: user._id.toString() }, "thisismysecretkey")
user.tokens = this.tokens.concat({token})
}
Здесь, в userSchema.generateAuthToken, я получаю, что «токены» свойства не существуют для типа «Документ», когда я использую user.tokens или this.tokens. Пожалуйста, скажите мне, что я делаю неправильно. Спасибо заранее