Mongoose报错useCreateIndex不被支持但官方文档仍有相关说明如何解决
问题解决方法
你遇到的option usecreateindex is not supported报错核心原因是Mongoose版本不匹配:
- 你参考的
useCreateIndex配置说明是Mongoose 5.x版本的弃用警告解决方案,该配置是为了替换MongoDB旧的ensureIndex接口,在5.x版本需要手动开启。 - 从Mongoose 6.0版本开始,
useNewUrlParser、useUnifiedTopology、useCreateIndex三个配置项已经默认设置为true,官方直接移除了对这几个参数的手动传入支持,传入就会抛出不支持的错误。
解决方案
方案1(推荐):适配Mongoose 6.x+版本
直接删除mongoose.connect方法中的三个旧配置项即可,修改后的代码如下:
const mongoose = require('mongoose'); const connectDB = async () => { try { const conn = await mongoose.connect(process.env.MONGO_URI); console.log(`MongoDB Connected: ${conn.connection.host}`.cyan.underline.bold); } catch (err) { console.log(`Error: ${err.message}`.red); process.exit(1); } } module.exports = connectDB;
方案2:降级Mongoose到5.x版本
如果你需要保留原有配置写法,可将Mongoose版本降级到5.x系列的最新稳定版,执行如下安装命令即可:npm install mongoose@5.13.15
内容的提问来源于stack exchange,提问作者Jane B.
相关产品推荐
相关产品推荐

