微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将本地主机更改为 MongoDb 和 Heroku 主机

如何解决如何将本地主机更改为 MongoDb 和 Heroku 主机

所以我完成了用 mongodb express react native with expo 构建我的应用程序, 我正在尝试将端口 3000 的本地主机服务器更改为带有 h​​oruko 和 mongodb 的真实主机服务器。

  • 我像文档一样构建了 mongoDb 并将其连接到 heroku,我转到 heroku 中的设置并粘贴 momngodb_uri ,例如:

        mongodb+srv://admin:admin@lior.rva16.mongodb.net/<dbname>?retryWrites=true&w=majority
    
  • 在我的索引 server.js 中,我从本地更改为:

    const port = process.env.PORT;// here i dont really have port (i dont kNow what to put inside)
      mongoose
       .connect(process.env.MONGO_URI,{///this line is - 
      >mongodb+srv://admin:admin@lior.rva16.mongodb.net/<dbname>?retryWrites=true&w=majority
     useNewUrlParser: true,useUnifiedTopology: true,})
    

这是我的 env 文件

   MONGO_URI=mongodb+srv://admin:admin@lior.rva16.mongodb.net/<dbname>?retryWrites=true&w=majority
   JWT_SECRET=LKDSLCX9IOZiJS9IAJ768
  1. 在我的客户端,所有的请求 url 都是这样的:

     await indexApi.post("/signout");
    
  2. 直到现在我使用 NGROK 来连接和检查我的数据库,所以到现在为止的基本 url 是:

      export default axios.create({
       baseURL: "http://cca1237fb2de.ngrok.io",//ngrok http 3000
       });
    

问题: 我收到错误,所有显示都无法连接到 url,他没有找到服务器 url。 (请注意,使用 localhost 一切正常)

问题

  1. 如何将我的应用连接到 heroku 服务器

  2. 我的新 BaseUrl 是什么? (我试图做 {process.env.MongoDB_Uri} 但也崩溃了......)

  3. 最大的问题是“如何使用 mongo 将 heroku 中的服务器从本地服务器替换为真实服务器”

https://github.com/roeigr7/LIOR

解决方法

执行此操作的最佳方法是使用一个环境变量来存储您的生产/暂存 MONGO_URL。在您的本地机器上,您可以使用 dotenv 包从 .env 文件和您在 heroku 应用部署中设置的环境变量中提取值。

本地 .env

MONGO_URL=mymongourl

您可以通过转到设置 > 配置变量在您的 heroku 应用程序中设置环境变量。应该有一个名为 Reveal Config Vars 的按钮。点击它,它会给你一个添加更多环境变量的界面。

代码

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

...other code

const mongoURL = process.env.MONGO_URL

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。