node.js - 无法连接到 MongoDB 服务器
问题描述
我正在尝试将此 Fullstack 应用程序部署到 DigitalOcean 液滴: https ://github.com/maismin/stock-portfolio-app-demo
我安装了 MongoDB,就像文档中所说的那样,然后我启动了它,没有做任何其他事情(我不知道我是否需要真正创建一个数据库,这是我第一次使用 MongoDB)。然后我克隆了 repo,然后我用 安装了 NPM npm install
,然后我把它复制到了终端:
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_DEV
事情MONGODB_URI_TEST
。和变量很好IEX
,JWT
我知道在那里做什么。
当我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...
解决方案
此错误是由于 mongodb URL 无效,请确保它是正确的,并且 .env 或存储 URL 的文件正确导入..
这也可能是.env的问题,所以直接通过数字海洋添加环境变量:https ://thecloudhub.com/tag/digitalocean-droplet-environment-variables/
推荐阅读
- unity3d - 为什么 Vision Lib 对我的 3d Modell 的跟踪不起作用并且相机的位置总是改变?
- c++ - 如何使用 MinGW 编译和使用库?
- javascript - 使用 getBoundingClientRect 保存和恢复元素位置不起作用
- dataweave - Dataweave 多级动态选择器
- email - 一台 SMTP 服务器会影响同一域中的另一台服务器吗?
- python-3.x - 使用 python smtplib 发送邮件时,后缀忽略 CC
- synchronization - gnuradio:在位中间采样
- docker - Portainer Docker Nginx 的解决方案:不健康和错误的网关 502
- gpg-signature - 为什么要检查 tgz 文件的签名
- ios - SwiftUI 关于 List 的奇怪问题