什么是猫鼬承诺

时间:2018-10-17 17:06:21

标签: node.js mongodb

我正在浏览有关mongoose and NodeJS

的博客

在本文中,他们做了两件事,我无法理解

首先,他们写了这样的东西

mongoose.Promise = global.Promise;

[问题:1] ?有人可以帮助我了解这是什么意思吗?

其次,在它的下面,他们做了这样的事情

mongoose.connect(dbConfig.url, {
    useNewUrlParser: true
}).then(() => {
    console.log("Successfully connected to the database");    
}).catch(err => {
    console.log('Could not connect to the database. Exiting now...', err);
    process.exit();
});

[问题:2] 。这是useNewUrlParser?

1 个答案:

答案 0 :(得分:1)

这是两个不相关的问题。

mongoose.Promise已在this answer中进行了解释。这是Mongoose 5不需要的旧代码。Mongoose使用本机Promise

useNewUrlParser连接应作为经验法则,the reference中对此进行了解释:

  

基础MongoDB驱动程序已弃用其当前的连接字符串解析器。因为这是一个重大更改,所以他们添加了useNewUrlParser标志,以允许用户在新解析器中发现错误时退回到旧解析器。除非您阻止连接,否则应将useNewUrlParser:true设置为。请注意,如果您指定useNewUrlParser:true,则必须在连接字符串中指定一个端口,例如mongodb:// localhost:27017 / dbname。新的URL解析器不支持没有端口的连接字符串,例如mongodb:// localhost / dbname。