node.js - 要使用新的解析器,请传递选项 { useNewUrlParser : true } to MongoClient. connect

标签 node.js

<分区>

当我运行一个简单的 NodeJS 项目以使用 MongoDB 将数据上传到数据库时,出现以下错误:

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

为什么?我该如何解决这个问题?

最佳答案

如果您使用 mongo 进行连接,请尝试使用:

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

如果您使用的是 Mongoose ,请使用如下内容:

mongoose.connect('mongodb://user:password@domain.com:27017/dbname', { useNewUrlParser: true });

你也可以这样使用:

const config = {
  autoIndex: false,
  useNewUrlParser: true,
};
return mongoose.connect(uri, config);

正如 lineus 所解释的:

https://github.com/Automattic/mongoose/issues/6667

关于node.js - 要使用新的解析器,请传递选项 { useNewUrlParser : true } to MongoClient. connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51583465/

相关文章:

javascript - readFile() 和 readFileSync() 之间的区别

javascript - 错误 : ENOENT: no such file or directory, 打开 './views/s.ejs' Nodejs Express

mysql - Node mysql检查和更新foreach循环

javascript - 最佳数据库连接数(node-mysql)

javascript - Node/ Mongoose - 从数组中删除 ObjectId

javascript - 如何在nodejs中导入js文件(在cloud9中)

javascript - 为什么日期函数没有返回我预期的输出?

node.js - 多个nodejs请求实时搜索

javascript - 如何(不)嵌套 `then` 生成 Promise 方法?

javascript - Node.js 在 if 语句中的函数之后不继续执行