MongoDB 4.7.0 TypeScript报MongoClientOptions类型不匹配错误
报错根因
mongodb 4.7.0 版本原生Node.js驱动已经正式移除了useNewUrlParser、useUnifiedTopology两个配置项,这两个参数不属于当前版本MongoClientOptions类型支持的属性,因此触发类型不匹配报错。
两个参数是3.x版本时期的过渡兼容开关,作用是启用新的URL解析规则和统一拓扑架构,4.x版本默认就启用了上述逻辑,不需要手动传参配置。现有大量针对该报错的解答是适配mongoose或者3.x版本驱动的,不适用于当前原生4.x驱动的场景。
修复方案
直接删除OPTIONS配置中两个废弃参数即可,示例代码如下:
// 删除冗余废弃配置,空配置即可满足默认连接MongoDB Atlas的需求 const OPTIONS = {}; // 如有其他实际业务需要的合法配置,可按需添加,例如连接池大小、超时时间、认证配置等 // const OPTIONS = { // maxPoolSize: 10, // serverSelectionTimeoutMS: 5000, // } const CLIENT: MongoClient = new MongoClient(MONGO_URI, OPTIONS);
修改后TypeScript类型校验可直接通过,MongoDB连接行为不会受任何影响,和之前传两个参数开启新逻辑的效果完全一致。
内容的提问来源于stack exchange,提问作者David G
相关产品推荐
相关产品推荐

