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

Mongodb 抛出新的MongooseError(';openUri()的`uri`参数必须是字符串),mongodb,mongoose,Mongodb,Mongoose,我刚刚配置了我的新项目并添加了mongoose,新版本5.7.4似乎有一个bug,因为当我使用这样的代码时: require('dotenv').config({ path: '../.env' }) const mongoose = require('mongoose'); console.log(typeof process.env.MONGO_URI == 'string') mongoose.connect(process.env.MONGO_URI, { useNew

我刚刚配置了我的新项目并添加了mongoose,新版本5.7.4似乎有一个bug,因为当我使用这样的代码时:

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
}
和log process.env.MONGO_URI它记录正确的url,这意味着它正确地从.env文件中获取变量,即使我添加了
“mongodb+srv://MYUSERNAME:MYPASSWORD@.mongodb.net/MYDBNAME?retryWrites=true&w=maist“
在mongoose.connect中,而不是
process.env.MONGO_URI
它仍然记录相同的日志,我能做什么


注:我说这是
^5.7.4
错误,因为我有另一个项目是用
^5.7.3
初始化的,并且它不会在标题中记录错误&我在这两个项目中都使用了以下代码,所以你最好使用5.7.3版。我已经这么做了,但我只是问是否有解决方案只要使用5.7.3版,就没有任何东西阻挡你了。@SuleymanSah是的,我已经这么做了LOL谢谢你的回答