首页 > 解决方案 > 未处理的承诺拒绝:错误:URL 格式错误,无法解析

问题描述

我同时是 aws 和 mongodb 的新手,所以我在尝试连接到托管在 amazon linux ec2 实例上的我的 mongo 数据库时遇到了一个非常基本的问题。原因是,我无法建立我的数据库的路径。

这是我正在尝试使用的:

mongoose.connect('mongod://ec2-user@ec2-XX-XX-XXX-XXX-XX.compute-1.amazonaws.com:27017/test' )

这是我的测试 lambda 函数的结果:

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: URL malformed, cannot be parsed

我正在使用 mongodb 3.6.5。

标签: mongodbamazon-ec2mongoose

解决方案


Mongoose 5.x 支持以下授权语法,并确保您没有在 url 中使用任何特殊字符,例如@,-,+,>

mongoose.connect(MONGO_URL, {
  auth: {
    user: MONGO_DB_USER,
    password: MONGO_DB_PASSWORD
  }
})

或者如果你想删除贬损警告避免“当前 URL 字符串解析器已被弃用”

添加选项useNewUrlParser

mongoose.connect(MONGO_URL, {
  auth: {
    user: MONGO_DB_USER,
    password: MONGO_DB_PASSWORD
  },
  { useNewUrlParser: true }
})

推荐阅读