【发布时间】:2020-08-04 03:03:35
【问题描述】:
我在我的服务器和前端之间共享类型定义。它们在一个单独的 npm 包中定义,两者都安装。在前端,保存 ObjectIds 的变量需要这样输入,但在客户端,我可以假设它们始终是原始字符串。
我在客户端上有很多地方会抛出:
Type 'ObjectId' is not assignable to type 'string'.
处理此错误的最简单方法是什么?我可以告诉 Typescript 接受对 ObjectId 的字符串分配,反之亦然吗?我应该尝试覆盖 ObjectId 的 Mongoose 定义吗?
我正在考虑覆盖排序
declare global {
export interface MyInterface1 {
variableWithObjectId1: string
}
export interface MyInterface2 {
variableWithObjectId2: string
}
}
我认为这应该可行。这是similar issue 的推荐解决方案,但我还没有完成。
我希望在将库导入客户端时,有某种方法可以将 ObjectId 全局转换为字符串。
【问题讨论】:
-
ObjectId类型是什么? -
Mongo 虽然定义来自 Mongoose
-
接口定义中的
myId: ObjectId | string怎么样。 -
感谢您的想法 - 当您想使用 Mongo ObiectId 方法时,该解决方案会通过服务器上的错误
标签: mongodb typescript mongoose