我正在尝试使用此代码连接MongoDB数据库,但是在运行它时出现错误(请参见代码后的以下错误)。最初的错误出现在通过添加useNewUrlParser: true
解决的行中,但是即使在此之后,我仍然遇到更多错误。我正在使用MongoDB 4.0.1版。有人知道如何解决此错误吗?
mongoose.connect('User://localhost:27017/User',{ useNewUrlParser: true })
运行此代码时出错:
(节点:11068)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:3):MongoParseError:无效的连接字符串 (节点:11068)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。
答案 0 :(得分:4)
我收到相同的错误,然后我使用了:
mongoose.connect("mongodb://localhost:27017/[yourDbName]", {
useUnifiedTopology: true,
useNewUrlParser: true
});
用[yourDbName]
代替您的MongoDB数据库名称:
答案 1 :(得分:2)
尝试一下,它应该可以工作,
mongoose.connect('mongodb://localhost/mycargarage', {useNewUrlParser: true, useUnifiedTopology: true})
.then(() => console.log('MongoDB Connected...'))
.catch((err) => console.log(err))
答案 2 :(得分:0)
使用'mongodb:// localhost /'代替用户 我遇到了同样的问题。
答案 3 :(得分:0)
我有同样的问题。就我而言,问题是由我的密码引起的。显然,如果密码中包含特殊字符,则需要使用十六进制值。
答案 4 :(得分:0)
您编写的主机不正确,应该是
mongoose.connect('mongodb://localhost:27017/User',{ useNewUrlParser: true })
答案 5 :(得分:-1)
在我的 .env 文件中,我做错了比如
错误:
MONGO_URI=mongod:
//localhost:27017/ecom
解决方案:
MONGO_URI=mongodb:
//localhost:27017/ecom