MongooseError:\`openUri()\` 的\`uri\` 参数必须是字符串

新手上路,请多包涵

我的代码有问题我在 app.js 中使用了这段代码:

 const mongoose = require('mongoose');
const dotenv = require('dotenv');
dotenv.config()

  mongoose.connect(process.env.MONGO_URL)
.then(() => console.log("DB connected!"));

    mongoose.connection.on('error',function(err){
console.log("The error is: ");
});

环境.txt:

 MONGO_URL=mongodb+srv://blur:blur@nodeapi-pfnvf8.mongodb.net/test?retryWrites=true
PORT:8080

出于某种原因,它给了我这个奇怪的错误:

 throw new MongooseError('The `uri` parameter to `openUri()` must be a ' +
    ^ MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
    at new MongooseError (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\error\mongooseError.js:14:11)
    at NativeConnection.Connection.openUri (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\connection.js:465:11)
    at Mongoose.connect (C:\Users\razei\Desktop\Recat\project2\node_modules\mongoose\lib\index.js:289:15)
    at Object.<anonymous> (C:\Users\razei\Desktop\Recat\project2\ap.js:9:10)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) [nodemon] app crashed - waiting for file changes before starting...

有人可以帮我吗我读了一些帖子,但没有一个有帮助

原文由 user11336869 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 467
1 个回答

当您没有将 .env 文件保存在根文件夹中时,也会发生这种情况。

原文由 Rachana Kotha 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题