Mongodb 在Heroku上部署带有私人信息的应用程序

Mongodb 在Heroku上部署带有私人信息的应用程序,mongodb,heroku,github,Mongodb,Heroku,Github,我在Github上有一个节点项目,我将其部署在Heroku上,并使用MongoDB满足数据库需求。 我有一个来自Mongo的URL,我使用用户名和密码连接到它。当我在我的本地系统上运行它时,这一切都非常好,因为我可以硬编码我的用户名和密码(甚至可以使用process.env.USER\u NAME) 我的问题是,我如何将这些值传递给Heroku。它与我的github同步,我不想公开我的用户名和密码。您想使用环境变量 这可以在每个Heroku应用程序中完成 1:转到应用程序的设置:https://

我在Github上有一个节点项目,我将其部署在Heroku上,并使用MongoDB满足数据库需求。 我有一个来自Mongo的URL,我使用用户名和密码连接到它。当我在我的本地系统上运行它时,这一切都非常好,因为我可以硬编码我的用户名和密码(甚至可以使用process.env.USER\u NAME)


我的问题是,我如何将这些值传递给Heroku。它与我的github同步,我不想公开我的用户名和密码。

您想使用环境变量

这可以在每个Heroku应用程序中完成

1:转到应用程序的设置:
https://dashboard.heroku.com/apps/:yourApp/settings

2:单击“显示配置变量”,您将看到一个要添加或编辑环境变量的区域

3:在你的应用程序中,你可以通过访问进程来访问这些变量

var dbURL = process.env.databaseUrl,
    dbUsername = process.env.dbUsername,
    dbPassword = process.env.dbPassword;
4:出于开发目的,您仍然需要将这些变量保存在env变量中。安装npm模块

npm install dotenv

// appRoot/.env

    dbURL=localhost:27017
    dbUsername=tacoman
    dbPassword=ILoveTacos

// approot/server.js

    require('dotenv').load();

谢谢你,布莱恩。完美答案!