无法连接到 MongoDB 服务器

Can't connect to a MongoDB server

我正在尝试将此 Fullstack 应用程序部署到 DigitalOcean Droplet: https://github.com/maismin/stock-portfolio-app-demo

我安装了 MongoDB 就像文档中说的那样然后我启动了它并且没有做任何其他事情(我不知道我是否需要实际制作数据库这是第一次我正在使用 MongoDB)。然后我克隆了 repo,然后我用 npm install 安装了 NPM,然后我把它复制到终端:

PORT=3000
MONGODB_URI='LINK TO YOUR MONGDB SERVER'
MONGODB_URI_DEV='LINK TO YOUR LOCAL MONGODB SERVER'
MONGODB_URI_TEST='LINK TO LOCAL MONGODB SERVER'
IEX_URI=https://cloud.iexapis.com/stable
IEX_KEY='YOUR IEX KEY'
JWT_SECRET='YOUR SECRET'

并将此 MONGODB_URI='LINK TO YOUR MONGDB SERVER' 替换为 MONGODB_URI='xxx.xxx.xxxx'(我的服务器 IP,这是我真的不知道该做什么,只是在尝试的地方)。我也用同样的方法做了 MONGODB_URI_DEVMONGODB_URI_TESTIEXJWT 变量很好,我知道在那里做什么。

我在 npm run dev:

时遇到了这个错误
See https://webpack.js.org/plugins/environment-plugin for example.
Error connection to MongoDB: 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.
[nodemon] app crashed - waiting for file changes before starting...

您是否添加了 .env 文件?

PORT=3000
MONGODB_URI='LINK TO YOUR MONGDB SERVER'
MONGODB_URI_DEV='LINK TO YOUR LOCAL MONGODB SERVER'
MONGODB_URI_TEST='LINK TO LOCAL MONGODB SERVER'
IEX_URI=https://cloud.iexapis.com/stable
IEX_KEY='YOUR IEX KEY'
JWT_SECRET='YOUR SECRET'

此错误是由于 mongodb URL 无效造成的,请确保它是正确的,并且正确导入了 .env 或存储 URL 的文件..

也可能是.env的问题,直接通过digital Ocean添加环境变量:https://thecloudhub.com/tag/digitalocean-droplet-environment-variables/