要使用新的解析器,请将选项{useNewUrlParser:true}传递给MongoClient.connect

时间:2018-07-29 18:46:38

标签: node.js

当我运行一个节点js简单项目将数据上传到数据库mogodb时,我遇到了错误

(节点:3556)DeprecationWarning:不建议使用当前URL字符串解析器,并且在以后的版本中将其删除。要使用新的解析器,请将选项{useNewUrlParser:true}传递给MongoClient.connect。  谁能知道为什么

2 个答案:

答案 0 :(得分:6)

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

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

如果您使用猫鼬,则如下所示:

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

您还可以使用类似这样的东西:

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

正如阵容所解释的:

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

答案 1 :(得分:1)

将此代码放入布局文件中

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/yourDatabase', { useNewUrlParser: true });
var Schema = mongoose.Schema;

然后,您可以创建Schema布局,例如:

var mySchema = new Schema({
    first_name: String, 
    last_name: String
});