mongodb - 未处理的承诺拒绝:错误: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。
解决方案
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 }
})
推荐阅读
- java - 即使将 cplex.jar 添加到 lib 后,包 ilog 也不存在
- python - 如何通过dict中的匹配使硒单击部分链接文本
- android - Android WorkManager 没有启动工作人员
- driver - 安装未绑定的 NDIS 文件管理器驱动程序
- php - 将变量传递给函数时出现 500 错误
- computational-geometry - 查找/计算钣金 CAD 模型的折弯“方向”
- html - 使用 R 抓取文本
- xamarin - 使用 HttpClient 访问 Web API 问题(证书?)
- javascript - iOS 上的 Devicemotion 事件
- nosql - 用于 PWA 的 CouchDB 与 MongoDB