Вообщем, в моём приложении используется удалённая база данных mongoDB. На localhost всё работает нормально, но после того, как я залил свой блог на heroku. Подключение к базе данных не происходит, и данные не загружаются. вот код файла, в котором используется база данных:
const express = require("express");
const router = express.Router();
const bodyParser = require("body-parser");
const urlencodedParser = bodyParser.urlencoded({extended: false});
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const postScheme = new Schema({
title: String,
text: String
});
const Post = mongoose.model("Post", postScheme);
let posts = [];
mongoose.connect("mongodb+srv://admin:<password>@cluster0-emcpv.mongodb.net/blog",
{ useNewUrlParser: true, useUnifiedTopology: true, autoIndex: false });
Post.find({}, (err, docs) => {
posts = docs;
});
router.get("/", (req, res) => {
res.render("index", {posts: posts});
});
router.get("/write", (req, res) => {
res.render("write");
});
router.post("/write", urlencodedParser, (req, res) => {
const title = req.body.title;
const text = req.body.text;
if(title === "" || text === "") {
res.redirect("/");
} else {
const post = new Post({title, text});
posts.push({title, text});
post.save();
res.redirect("/");
}
});
router.get("/posts/:id", (req, res) => {
const id = req.params.id - 1;
res.render("post", {post: posts[id]});
});
module.exports = router;
В строке где идёт подключение пароль убрал.
Вот ещё файл package.json:
{
"name": "blog",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"express": "^4.17.1",
"mongoose": "^5.9.6",
"pug": "^2.0.4"
}
}