【问题标题】:Current URL string parser is deprecated [duplicate]当前的 URL 字符串解析器已弃用 [重复]
【发布时间】:2018-12-12 09:57:21
【问题描述】:

当我通过“node app.js”命令运行代码时,会显示此错误

(node:2509) DeprecationWarning:当前的 URL 字符串解析器已被弃用,并将在未来的版本中删除。要使用新的解析器,请将选项 { useNewUrlParser: true } 传递给 MongoClient.connect。

【问题讨论】:

  • 这是一个警告。此外,它还为您提供修复它的信息。我不确定你在问什么

标签: node.js mongodb mongoose body-parser


【解决方案1】:

您需要将{ useNewUrlParser: true } 选项传递给 mongoose.connect() 方法。您的代码应该类似于下面的 sn-p。

mongoose.connect('mongodb://user:pw@host1.com:27017/dbname', { useNewUrlParser: true })

【讨论】:

  • 当我这样做时它给了我错误 UnhandledPromiseRejectionWarning: UnhandledPromiseRejectionWarning: Unhandled Promise Rejection (rejection id: 1): [object Object] (node:7) DeprecationWarning: Unhandled Promise RejectionWarning 已弃用。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。 即使我没有提到任何与承诺有关的事情
  • @palAlaa 在将 { useNewUrlParser: true } 作为 urlcallback 之间的第二个参数传递时,我遇到了同样的错误
【解决方案2】:

为了避免这个问题,使用这个

MongoClient.connect('mongodb://user:password@sample.com:port/dbname', { useNewUrlParser: true })

【讨论】:

  • 我应该在哪个文件中使用这个sn-p?
【解决方案3】:

对于那些收到此消息“弃用警告:不推荐使用未处理的承诺拒绝。将来,未处理的承诺拒绝将使用非零退出代码终止 Node.js 进程。即使我没有提及任何相关内容承诺”

我在以下链接中粘贴了修复错误的代码。 https://stackoverflow.com/a/52459082/10399142

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多