抛出新的MongooseError('openUri()的uri参数必须是字符串)

时间:2019-10-12 19:04:50

标签: mongodb mongoose

我刚刚配置了我的新项目并添加了猫鼬,而且由于我使用如下代码时,似乎新发行版5.7.4中存在错误:

require('dotenv').config({
    path: '../.env' 
})
const mongoose = require('mongoose');
console.log(typeof process.env.MONGO_URI == 'string')
mongoose.connect(process.env.MONGO_URI, {
    useNewUrlParser: true,
    useCreateIndex:true,
    useFindAndModify: false,
    useUnifiedTopology: true
})
.then(()=>{
    console.log('con to db established')
})
.catch(err=>{
    console.log(`db err: ${err.message}`);
    process.exit(-1)
})
const schemas = require('./schemas');
const models = {};
for(let i in schemas){
    models[i] = mongoose.model(i, schemas[i]);
    console.log(i)
}

module.exports = {
    models,
    mongoose,
    connection: mongoose
}

并记录process.env.MONGO_URI,它记录正​​确的url,这意味着它正确地从.env文件中获取变量,即使我在mongoose.connect中添加"mongodb+srv://MYUSERNAME:MYPASSWORD@<CLUSTER>.mongodb.net/MYDBNAME?retryWrites=true&w=majority"而不是process.env.MONGO_URI,它仍然记录同样,我该怎么办?

P.S:我说这是^5.7.4的错误,因为我还有其他用^5.7.3初始化的项目,并且没有在标题中记录错误,我在两个项目中都使用了以下代码

0 个答案:

没有答案