Mongoose连接MongoDB报MongoParseError: Invalid connection string错误
MongoDB连接MongoParseError报错解决
报错根因
连接字符串不符合MongoDB URI格式规范:原代码中连接串写为'mongodb : //localhost:27017/taskmanager',mongodb与冒号之间存在多余空格,解析器无法识别合法协议头,直接抛出MongoParseError: Invalid connection string。
修复方法
删除连接串里mongodb和后续冒号之间的多余空格,修正为标准格式mongodb://localhost:27017/taskmanager,修正后的完整代码:
const mongoose = require('mongoose'); mongoose.Promise = global.Promise; mongoose.connect('mongodb://localhost:27017/taskmanager',{ useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('database connected')) .catch((error) => console.log(error)); module.exports = mongoose;
延伸排查点(修正格式后仍报错可逐一校验)
- 确认本地MongoDB服务处于运行状态,27017端口未被其他进程占用
- 若后续使用带账号、密码的远程数据库连接,需对URI中包含的特殊字符做URL编码,避免触发解析错误
- Mongoose 6.x及以上版本已默认启用新的URL解析、拓扑管理逻辑,即使去掉
useNewUrlParser、useUnifiedTopology配置项也可正常连接
内容的提问来源于stack exchange,提问作者tamil
相关产品推荐
相关产品推荐

