Mongoose 6.0.12报错Error: option gssapiservicename is not supported如何解决
错误原因
Mongoose 6.x版本底层默认依赖MongoDB Node.js 4.x驱动,该版本驱动已正式移除gssapiservicename参数的支持,触发这个报错通常有两个原因:
- 你的MongoDB连接字符串(
process.env.MONGO_URI)中附带了gssapiservicename查询参数 - 项目中残留了Mongoose 5.x版本的全局配置,通过
mongoose.set方法默认传递了该废弃参数
修复方案
- 第一步:检查你的MongoDB连接字符串,删除其中的
gssapiservicename相关查询参数 - 第二步:Mongoose 6.x已默认开启
useNewUrlParser、useUnifiedTopology配置,无需手动传递,可以直接删除这两个冗余配置项 - 若完成上述操作后仍报错,全局检索项目代码中是否存在设置
gssapiservicename的mongoose.set调用,删除对应配置即可
修复后的参考代码:
const connectDB = async () => { try { const conn = await mongoose.connect(process.env.MONGO_URI) console.log(`MongoDB Connected: ${conn.connection.host}`.cyan.underline) } catch (error) { console.error(`Error: ${error.message}`.red.underline.bold) process.exit(1) } }
内容的提问来源于stack exchange,提问作者barisamiw
相关产品推荐
相关产品推荐

