7

我正在尝试使用此代码连接 MongoDB 数据库,但是在运行它时出现错误(请参阅代码后面的错误)。最初的错误在通过添加解决的行中,useNewUrlParser: true但即使在此之后我仍然遇到更多错误。我正在使用 MongoDB 版本 4.0.1。有谁知道如何解决这个错误?

mongoose.connect('User://localhost:27017/User',{ useNewUrlParser: true })

运行此代码时出错:

(节点:11068)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:3):MongoParseError:无效的连接字符串(节点:11068)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

4

6 回答 6

14

而不是User://localhost, 使用mongodb://localhost/ 我有同样的问题。

于 2019-03-19T16:05:54.007 回答
7

我收到了同样的错误,然后我使用了:

mongoose.connect("mongodb://localhost:27017/[yourDbName]", {
  useUnifiedTopology: true,
  useNewUrlParser: true
});

替换[yourDbName]您的 MongoDB 数据库名称:

于 2020-04-09T17:24:17.620 回答
4

你写的主机不正确,应该是

mongoose.connect('mongodb://localhost:27017/User',{ useNewUrlParser: true })
于 2019-10-05T09:15:53.570 回答
2

试试这个,它应该工作,

mongoose.connect('mongodb://localhost/mycargarage', {useNewUrlParser: true, useUnifiedTopology: true})
    .then(() => console.log('MongoDB Connected...'))
    .catch((err) => console.log(err))
于 2020-01-11T19:22:48.027 回答
0

我有同样的问题。就我而言,问题是由我的密码引起的。显然,如果密码中有特殊字符,则需要使用 HEX 值。

于 2019-05-26T03:02:43.757 回答
0

我只是在点之后添加了 // 来表示本地主机,它是针对 mongodb 5

const mongoose = require('mongoose');

const MONGODB_HOST = 'mongodb://localhost/'
const MONGODB_DB = 'usuarios'

mongoose.connect(MONGODB_HOST,{
    useUnifiedTopology: true,
    useNewUrlParser: true

})

    .then(db => console.log('Db connection established'))
    .catch(err => console.log(err))

于 2021-10-03T19:06:24.923 回答