使用MongoDB Atlas和MongoDB Compass连接到数据库的应用程序在Heroku上部署
使用MongoDB Atlas,使得可以从本地主机以外连接到MongoDB。
MongoDB Atlas是MongoDB官方提供的主机服务。 (https://www.mongodb.com/cloud/atlas)

打开”创建新集群”页面,进行要创建的数据库的配置设置。
※ cluster指的是可以从多个服务器连接的MongoDB数据库。


如果已经创建了Cluster,则需要付费,但是最初的一个可以免费创建。
虽然东京不在免费支持的地区,但是设置成新加坡也能正常运行。
点击「创建群集」,等待一段时间直到群集创建完成。
群集创建完成后,以下界面将显示在“沙箱”中。

点击「SANDBOX」中的「CONNECT」按钮,进行Cluster设置。

点击「添加不同的IP地址」,在IP地址栏中输入「0.0.0.0/0」。
※「0.0.0.0/0」意味着可以访问所有主机和任意目标。
通过设置此项,可以从多个服务器访问该集群。
在数据库中设置用于使用的用户名和密码。
由于IP地址设置为“0.0.0.0/0”,因此需要通过用户名和密码来限制访问。
设定连接方式。

在设置“从我的应用程序连接”之前,如果你在MongoDB Compass中连接到数据库,就可以查看并确认已连接应用程序的数据库内容,非常方便。
・「MongoDB Compass」是MongoDB官方提供的用于MongoDB的图形用户界面(GUI)。它与之前在Qiita上发布的「Robo3T」类似(※但Robo3T无法连接到MongoDB Atlas)。
请点击选择「使用MongoDB Compass进行连接」。
设置MongoDB Compass
我没有MongoDB Compass。

从MongoDB Atlas下载MongoDB Compass。
打開已下載的MongoDB Copmass應用程式,在「Connect to Host」畫面中設定要連接的主機。
在「Fill in connection Individually」選項中確認連接。


在默认设置下,可以连接到本地主机上的MongoDB(端口号:27017)。
点击“Connect”按钮即可连接到本地主机的MongoDB。
使用MongoDB Compass连接到MongoDB Atlas。
复制连接字符串,然后打开MongoDB Compass。从URL中复制“@”之后和“/”之前的部分。
将刚刚从MongoDB Atlas复制的内容粘贴到「主机名」中。
请将MongoDB Atlas中设置的用户名和密码粘贴到“用户名”和“密码”栏位中。
在数据库中设置用户名和密码。
由于IP地址设置为「0.0.0.0/0」,需要通过用户名和密码来限制访问。
在这个地方进行设置
「更多選項」保持默認設定即可。
从MongoDB Atlas侧进行确认。
点击「MongoDB Atlas」的「Database Access」选项中的「Edit」,可以重新编辑密码。
从「网络地址」选项中,可以确认可请求访问的IP地址,并进行重新设置。
从「Cluster」的「COLLECTION」中,可以查看MongoDB Atlas上已创建的数据库。
部署到Heroku上
・设置环境变量
创建一个名为「dev.env」的文件,并设置要作为环境变量的值。
当调用环境变量时,请使用「process.env.~」来调用。
PORT=3010
MONGODB_URL=mongodb://127.0.0.1:27017/task-manager-api
・「PORT:」应用程序运行的端口设置。
当设置为「PORT=3010」时,在Heroku部署后将使用Heroku提供的端口,其他情况下将使用3010端口启动应用程序。
※代码部分的描述
· index.js
const port = process.env.PORT
・「MONGODB_URL:」是MongoDB的连接设置。
用于存储连接到MongoDB数据库的地址。
※代码编写
·mongoose.js
const mongoose = require('mongoose')
mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false
});
在程序代码中,当存在不希望被外界访问的内容时的处理方式。
暗号化キー(JWT_SECRET)を設定します。
コードの該当箇所には、データを暗号化するためのキーが明記されています。
キーは「thisisaseacretkey」ですが、このままコードに書き込み、gitやHerokuにデプロイすると、暗号化キーが見えてしまい、セキュリティ上問題が生じます。
↓
将密钥设置为环境变量。
在”dev.env”文件中
JWT_SECRET=thisisaseacretkey
对于加密,将密钥直接输入的部分的代码描述为”process.env.JWT_SECRET”。
请给我打开窗户。
请帮我打开窗户。
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_Key)
请将以下内容用中文进行改写,只需要提供一种选项:
↓
将代码部署至Github。
请用中文将以下句子进行翻译:
↓
在Heroku上创建一个应用程序
在前往「git push heroku master」以前,执行环境设置。
↓
利用「heroku config」指令,进行环境变量的设定!
設定Heroku的環境變數。
在终端机上,
heroku config:set key=value
通过键入这条命令来设置环境变量。
herkou config:unset key
可以删除环境变量。
heroku config
那么,可以查看已设置的环境变量列表。
↓
– 配置「JWT_SECRET」
heroku config:set JWT_SECRET=thisisaseacretkey
请配置 “MONGODB_URL”
需要获取MongoDB Atlas提供的连接字符串!
从 Cluster 的「CONNECT」中选择「Connect your Application」。
删除复制的地址,并输入初始设置的数据库密码,然后输入要连接的数据库名称。
複製已編輯的內容
在终端上
heroku config:set MONGODB_URL='先ほどコピーしたアドレス'
执行
・”端口”
端口是由Heroku默认提供的环境,无需进行设置。
请用中文将以下内容重新表达,只需要一种选项:
↓
・将应用部署到Heroku上
git push heroku maser
使用MongoDB Compass查看数据库。
使用MongoDB Compass从刚刚创建的“可以从MongoDB Atlas访问的数据库”进行访问。
从这里,可以查看连接到Heroku部署的应用程序的数据库。


复制连接字符串,然后打开MongoDB Compass。从URL中复制“@”之后和“/”之前的部分。

将刚刚从MongoDB Atlas复制的内容粘贴到「主机名」中。
请将MongoDB Atlas中设置的用户名和密码粘贴到“用户名”和“密码”栏位中。
在数据库中设置用户名和密码。
由于IP地址设置为「0.0.0.0/0」,需要通过用户名和密码来限制访问。
在这个地方进行设置

「更多選項」保持默認設定即可。

从MongoDB Atlas侧进行确认。
点击「MongoDB Atlas」的「Database Access」选项中的「Edit」,可以重新编辑密码。
从「网络地址」选项中,可以确认可请求访问的IP地址,并进行重新设置。
从「Cluster」的「COLLECTION」中,可以查看MongoDB Atlas上已创建的数据库。
部署到Heroku上
・设置环境变量
创建一个名为「dev.env」的文件,并设置要作为环境变量的值。
当调用环境变量时,请使用「process.env.~」来调用。
PORT=3010
MONGODB_URL=mongodb://127.0.0.1:27017/task-manager-api
・「PORT:」应用程序运行的端口设置。
当设置为「PORT=3010」时,在Heroku部署后将使用Heroku提供的端口,其他情况下将使用3010端口启动应用程序。
※代码部分的描述
· index.js
const port = process.env.PORT
・「MONGODB_URL:」是MongoDB的连接设置。
用于存储连接到MongoDB数据库的地址。
※代码编写
·mongoose.js
const mongoose = require('mongoose')
mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false
});
在程序代码中,当存在不希望被外界访问的内容时的处理方式。
暗号化キー(JWT_SECRET)を設定します。
コードの該当箇所には、データを暗号化するためのキーが明記されています。
キーは「thisisaseacretkey」ですが、このままコードに書き込み、gitやHerokuにデプロイすると、暗号化キーが見えてしまい、セキュリティ上問題が生じます。
↓
将密钥设置为环境变量。
在”dev.env”文件中
JWT_SECRET=thisisaseacretkey
对于加密,将密钥直接输入的部分的代码描述为”process.env.JWT_SECRET”。
请给我打开窗户。
请帮我打开窗户。
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_Key)
请将以下内容用中文进行改写,只需要提供一种选项:
↓
将代码部署至Github。
请用中文将以下句子进行翻译:
↓
在Heroku上创建一个应用程序
在前往「git push heroku master」以前,执行环境设置。
↓
利用「heroku config」指令,进行环境变量的设定!
設定Heroku的環境變數。
在终端机上,
heroku config:set key=value
通过键入这条命令来设置环境变量。
herkou config:unset key
可以删除环境变量。
heroku config
那么,可以查看已设置的环境变量列表。
↓
– 配置「JWT_SECRET」
heroku config:set JWT_SECRET=thisisaseacretkey
请配置 “MONGODB_URL”
需要获取MongoDB Atlas提供的连接字符串!
从 Cluster 的「CONNECT」中选择「Connect your Application」。
删除复制的地址,并输入初始设置的数据库密码,然后输入要连接的数据库名称。
複製已編輯的內容
在终端上
heroku config:set MONGODB_URL='先ほどコピーしたアドレス'
执行
・”端口”
端口是由Heroku默认提供的环境,无需进行设置。
请用中文将以下内容重新表达,只需要一种选项:
↓
・将应用部署到Heroku上
git push heroku maser
使用MongoDB Compass查看数据库。
使用MongoDB Compass从刚刚创建的“可以从MongoDB Atlas访问的数据库”进行访问。
从这里,可以查看连接到Heroku部署的应用程序的数据库。

点击「MongoDB Atlas」的「Database Access」选项中的「Edit」,可以重新编辑密码。

从「网络地址」选项中,可以确认可请求访问的IP地址,并进行重新设置。


从「Cluster」的「COLLECTION」中,可以查看MongoDB Atlas上已创建的数据库。
部署到Heroku上
・设置环境变量
创建一个名为「dev.env」的文件,并设置要作为环境变量的值。
当调用环境变量时,请使用「process.env.~」来调用。
PORT=3010
MONGODB_URL=mongodb://127.0.0.1:27017/task-manager-api
・「PORT:」应用程序运行的端口设置。
当设置为「PORT=3010」时,在Heroku部署后将使用Heroku提供的端口,其他情况下将使用3010端口启动应用程序。
※代码部分的描述
· index.js
const port = process.env.PORT
・「MONGODB_URL:」是MongoDB的连接设置。
用于存储连接到MongoDB数据库的地址。
※代码编写
·mongoose.js
const mongoose = require('mongoose')
mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false
});
在程序代码中,当存在不希望被外界访问的内容时的处理方式。
暗号化キー(JWT_SECRET)を設定します。
コードの該当箇所には、データを暗号化するためのキーが明記されています。
キーは「thisisaseacretkey」ですが、このままコードに書き込み、gitやHerokuにデプロイすると、暗号化キーが見えてしまい、セキュリティ上問題が生じます。
↓
将密钥设置为环境变量。
在”dev.env”文件中
JWT_SECRET=thisisaseacretkey
对于加密,将密钥直接输入的部分的代码描述为”process.env.JWT_SECRET”。
请给我打开窗户。
请帮我打开窗户。
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_Key)
请将以下内容用中文进行改写,只需要提供一种选项:
↓
将代码部署至Github。
请用中文将以下句子进行翻译:
↓
在Heroku上创建一个应用程序
在前往「git push heroku master」以前,执行环境设置。
↓
利用「heroku config」指令,进行环境变量的设定!
設定Heroku的環境變數。
在终端机上,
heroku config:set key=value
通过键入这条命令来设置环境变量。
herkou config:unset key
可以删除环境变量。
heroku config
那么,可以查看已设置的环境变量列表。
↓
– 配置「JWT_SECRET」
heroku config:set JWT_SECRET=thisisaseacretkey
请配置 “MONGODB_URL”
需要获取MongoDB Atlas提供的连接字符串!
从 Cluster 的「CONNECT」中选择「Connect your Application」。
删除复制的地址,并输入初始设置的数据库密码,然后输入要连接的数据库名称。
複製已編輯的內容
在终端上
heroku config:set MONGODB_URL='先ほどコピーしたアドレス'
执行
・”端口”
端口是由Heroku默认提供的环境,无需进行设置。
请用中文将以下内容重新表达,只需要一种选项:
↓
・将应用部署到Heroku上
git push heroku maser
使用MongoDB Compass查看数据库。
使用MongoDB Compass从刚刚创建的“可以从MongoDB Atlas访问的数据库”进行访问。
从这里,可以查看连接到Heroku部署的应用程序的数据库。

从 Cluster 的「CONNECT」中选择「Connect your Application」。

删除复制的地址,并输入初始设置的数据库密码,然后输入要连接的数据库名称。
複製已編輯的內容
在终端上
heroku config:set MONGODB_URL='先ほどコピーしたアドレス'
执行
・”端口”
端口是由Heroku默认提供的环境,无需进行设置。
请用中文将以下内容重新表达,只需要一种选项:
↓
・将应用部署到Heroku上
git push heroku maser
使用MongoDB Compass查看数据库。
使用MongoDB Compass从刚刚创建的“可以从MongoDB Atlas访问的数据库”进行访问。
从这里,可以查看连接到Heroku部署的应用程序的数据库。
git push heroku maser

使用MongoDB Compass从刚刚创建的“可以从MongoDB Atlas访问的数据库”进行访问。
从这里,可以查看连接到Heroku部署的应用程序的数据库。