Да, у меня есть несколько приложений, которые делают это! Зарегистрируйте бесплатную учетную запись MongoDB Atlas , а затем сохраните данные на их серверах и укажите в приложении Express URL-адрес подключения. По сути, они дадут вам URL-адрес, подобный следующему:
mongodb + srv: // your-cluster-name:a232dfjoi39034r@atlas-free-cluster-czaoo.mongodb.net/blog-app?retryWrites=true
, который затем можно сохранить в файле .env, например так :
MONGODB_URL=mongodb+srv://your-cluster-name:a232dfjoi39034r@atlas-free-cluster-czaoo.mongodb.net/blog-app?retryWrites=true
И доступ из вашего приложения выглядит так:
mongoose.connect(process.env.MONGODB_URL, connectionOptions)
.catch((err) => {
console.log('Error on initial DB connection: ', err);
});
Вам нужно будет загрузить файлы .env в ваше приложение, используя npm пакеты типа dotenv на стороне разработки. Для heroku вы можете использовать heroku-cli и установить любые переменные окружения для своего приложения следующим образом:
heroku config:set MONGODB_URL=mongodb+srv://your-cluster-name:a232dfjoi39034r@atlas-free-cluster-czaoo.mongodb.net/blog-app?retryWrites=true
Обратите внимание, что URL-адрес разработки MongoDB может быть строкой подключения к локальному например,
MONGODB_URL = mongodb: // localhost: 27017 / my-blog-app
А героем может быть кластер MongoDB Atlas.
Есть несколько других настроек, которые нужно сделать для приложений Node, например, наличие в пакете сценария 'start'. json, который для Express приложений, созданных с помощью express -generator, выглядит следующим образом:
"scripts": {
"start": "node ./bin/www"
Но для вашего случая все может быть иначе. Он должен указывать на любой файл, который является точкой входа для вашего сервера.
Вам также нужно будет установить PORT из process.env.PORT, который heroku будет устанавливать на своем конце, и на своем конце вы можете просто по умолчанию 3000:
const PORT = process.env.PORT || 3000;
app.listen(PORT);
Если у вас есть какие-либо вопросы, не стесняйтесь писать мне в личку или просто спросите здесь, и я могу уточнить дальше. Первые несколько раз это может пугать, но на самом деле очень легко развернуть материал на героку таким образом, как только вы его освоите! Вы также можете проверить heroku docs для развертывания приложений Node.