如何在等待中指定Typescript猫鼬模型类型

时间:2018-08-28 15:12:45

标签: typescript mongoose async-await

我必须在用户模型中保存用户

            const userDoc: Document =  new User(user);
            const userData: UserModel  = await userDoc.save();

当我在userdata上指定类型时,会出现以下警告

类型“文档”不可分配给类型“ UserModel”。 无法将“文档”类型分配给“ {电子邮件:字符串;密码:字符串;电话号码; VerificationToken:字符串; emailVerified:Boole ...'。     类型“文档”中缺少属性“电子邮件”

1 个答案:

答案 0 :(得分:0)

如果您查看the declaration of save,它将返回与被调用对象相同类型的promise:

save(options?: SaveOptions, fn?: (err: any, product: this) => void): Promise<this>;

因此,将userDoc声明为类型UserUserModel或仅删除userDoc上的类型注释应该会有所帮助。