javascript - Mongoose Schema 无法与 typescript 类型一起正常工作
问题描述
我正在做一个使用 Mongoose 和 typescript 的项目。我遇到了问题,当我尝试使用Scheme.create()
. 我不太清楚为什么。它向我展示了 create 方法的泛型类型,如下所示:
所以,它只是显示{}
我使用的东西而不是我的模型。那么让我们来看看我使用的模式和类型。我有一个IUserModel
在共享空间中的类型。它在前端和后端之间共享,因此我无法创建新类型。但这就是类型:
interface IUserModel {
password: string;
adminLevel: Number;
active: boolean;
firstName: string;
lastName: string;
email: string;
city?: string;
street?: string;
postcode?: number;
regTimeStamp: Date;
organizationId?: string;
organizationAdminLevel?: number;
balance: number;
profilePicture?: string;
firstLogin: boolean;
};
现在方案:
interface IUserModelSchema extends IUserModel, mongoose.Document{}
const UserSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
firstName: { type: String, required: true },
lastName: { type: String, required: true },
postcode: { type: Number, required: false },
city: { type: String, required: false },
street: { type: String, required: false },
password: { type: String, required: true },
organizationId: { type: String, required: false },
organizationAdminLevel: { type: Number, required: false },
active: { type: Boolean, required: true },
balance: { type: Number, required: true },
profilePicture: { type: String, required: false },
regTimeStamp: { type: Date, required: true },
adminLevel: { type: Number, required: true },
});
const UserModel = mongoose.model<IUserModelSchema>("User", UserSchema);
export default UserModel;
所以我尝试过:
- 我尝试放弃共享类型并在方案上方创建一个,只是为了测试共享项目 threre 是否有些奇怪
- 我尝试使用不同的编辑器
- 我尝试了几个版本的猫鼬(5.10、5.11)
我已经建立了另一个具有相同架构的项目。我正在使用相同的架构,没有问题。我在那里的泛型.create<>
方法上有一个自动完成和正确的类型。
编辑:好的,我发现最后一个工作版本是 5.11.4,为什么它不再在新版本上工作?
解决方案
推荐阅读
- android - Unity Profiler - Android 设备上几乎 100% 的 PlayerLoop
- c# - 将 gRPC 服务绑定到 aspnetcore 中的特定端口
- mysql - 如何每 20 分钟和 30 分钟更新一次值?
- javascript - [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘文本’”
- python - savefig png,其文件名与循环的 excel 工作表完全相同
- javascript - 单击卡片/ div 的另一部分时获取卡片中的 div 值
- mysql - 带有 MySQL 错误的 TypeORM:池已关闭。调用数据库时测试卡住
- android - 在 setContentView() 之前调用 findViewById() 会导致 NullPointerException 但并非总是如此?
- c - 您能否针对 c 中的特定问题扩展我的半解决方案?
- flutter - Flutter 中的图像轮播