Heroku-提取请求的请求超时

时间:2019-12-14 22:53:23

标签: node.js mongodb express heroku mongoose

在localhost:5000 / posts上,我的数据已成功显示,但是如果我在Heroku中做同样的事情:https://rest-in-peep.herokuapp.com/posts,则会收到应用程序错误。 https://rest-in-peep.herokuapp.com/工作正常,我通过Heroku GIT进行了部署。我确保在Heroku中配置我的环境变量,并添加了Procfile,但是仍然出现此应用程序错误。我整天都在努力找出答案,但是我期望发生的是,如果我输入https://rest-in-peep.herokuapp.com/posts,我将获得存储在MongoDB数据库中的所有数据。

app.js文件

const http = require("http");
const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const cors = require("cors");
require("dotenv/config");
const app = express();
const server = http.createServer(app);

//Middlewares
app.use(cors());
app.use(bodyParser.json());

//Import Routes
const postsRoute = require("./routes/posts");

app.use("/posts", postsRoute);

//ROUTES
app.get("/", (req, res) => {
  res.send("We are on home");
});

//Connect to DB
mongoose.connect(
  process.env.DB_CONNECTION,
  { useNewUrlParser: true },

  () => console.log("connected to MongoDB")
);

//How do we start listening to the server
server.listen(process.env.PORT || 5000, () => {
  console.log("App now running on PORT");
});

路线> posts.js

const express = require("express");
const Post = require("../models/Posts");
const router = express.Router();

//GETS BACK ALL THE POSTS
router.get("/", async (req, res) => {
  try {
    const posts = await Post.find();
    res.json(posts);
  } catch (err) {
    res.json({ message: err });
  }
});

//SUBMITS A POST
router.post("/", async (req, res) => {
  console.log(req);
  const post = new Post({
    quote: req.body.quote
  });
  try {
    const savedPost = await post.save();
    res.json(savedPost);
  } catch (err) {
    res.json({ message: err });
  }
});
//SPECIFIC POST
router.get("/:postId", async (req, res) => {
  try {
    const post = await Post.findById(req.params.postId);
    res.json(post);
  } catch (err) {
    res.json({ message: err });
  }
});

//Delete Post
router.delete("/:postId", async (req, res) => {
  try {
    const removedPost = await Post.remove({ _id: req.params.postId });
    res.json(removedPost);
  } catch (err) {
    res.json({ message: err });
  }
});

//Update a post
router.patch("/:postId", async (req, res) => {
  try {
    const updatedPost = await Post.updateOne(
      { _id: req.params.postId },
      {
        $set: { quote: req.body.quote }
      }
    );
    res.json(updatedPost);
  } catch (err) {
    res.json({ message: err });
  }
});

module.exports = router;

gitignore

/node_modules

models> Posts.js

const mongoose = require("mongoose");

const PostSchema = mongoose.Schema({
  quote: {
    type: String,
    required: true
  }
});

module.exports = mongoose.model("Posts", PostSchema);

0 个答案:

没有答案