Heroku+MongoDB 5.0环境POST请求触发write concern配置错误问题
问题根因
你遇到的报错本质是mongoose.connect调用的语法错误:连接字符串参数和配置选项参数之间缺少英文逗号,导致Mongoose将后续的配置对象内容识别为连接字符串的一部分,最终被解析为w(写入关注)参数的非法取值,和MongoDB 5.0版本本身没有关系,无需回退版本。
修复步骤
- 修正
mongoose.connect的参数分隔语法,在连接字符串和配置对象之间补充英文逗号,同时保留连接串中合法的&w=majority参数,不要随意修改w的取值 - 修正后的连接代码参考:
mongoose.connect('mongodb+srv://user:password@my-db.vj9wk.mongodb.net/myapplication?retryWrites=true&w=majority', { useNewUrlParser: true, useUnifiedTopology: true });
- 若修正语法后仍出现超时问题,优先检查两项配置:1. Heroku服务器的出口IP段已加入MongoDB Atlas的IP访问白名单;2. Heroku环境变量中存储的数据库连接字符串无多余字符、格式完整。
内容的提问来源于stack exchange,提问作者Supern0va77
相关产品推荐
相关产品推荐

