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

Posted

技术标签:

【中文标题】如何在等待中指定 Typescript Mongoose 模型类型【英文标题】:How to specify Typescript Mongoose model type in await 【发布时间】:2019-02-03 06:49:03 【问题描述】:

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

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

当我在用户数据上指定类型时会出现以下警告

类型“文档”不可分配给类型“用户模型”。 类型“文档”不可分配给类型“电子邮件:字符串;密码:字符串;电话号码;验证令牌:字符串;电子邮件已验证:布尔...'。 “文档”类型中缺少属性“电子邮件”

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

const userDoc: UserModel 帮助

以上是关于如何在等待中指定 Typescript Mongoose 模型类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TypeScript 中指定定义为对象文字的箭头函数的类型?

是否可以在 TypeScript 导入中指定 webpack 加载器?

如何在spring data mongoDB中指定数据库名称

Linux怎么查看文本中指定行的内容

如何在 TypeScript Angular 中使用外部 Javascript

如何在 CodeNameOne 项目中指定 abiFilters?