728x90
반응형

상황

예전에도 몽고디비가 연결안되서 고생했었는데, 그때 해결했던 방법이

localhost 부분을 127.0.0.1 로 변경해주어야 한다.

이번에도 같은 실수를 반복하고 고생했기에

다시는 똑같은 실수를 반복하지 말자는 의미에서 실수모음 카테고리를 생성했다!

 

 

이전 코드

mongoose.connect("mongodb://localhost:27017/todo-demo")

수정 코드

mongoose.connect("mongodb://127.0.0.1:27017/todo-demo")

 

이해를 돕기 위한 전체 코드

const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");
const Todo = require("./models/todo");

const MongoConnect = async () => {
  await mongoose.connect("mongodb://127.0.0.1:27017/todo-demo", 
  {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  })
      .then(() => console.log('MongoDB Connected...'))
      .catch(err => console.log(err));
  }
  MongoConnect()

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));

const app = express();
const router = express.Router();

router.get("/", (req, res) => {
  res.send("Hi!");
});

// 입력
router.post("/todos", async (req, res ) => {
  const { value } = req.body;
  const maxOrderTodo = await Todo.findOne().sort("-order").exec();
  let order = 1;
  if (maxOrderTodo) {
    order = maxOrderTodo.order + 1;
  }
  const todo = new Todo({ value, order});
  await todo.save();
  res.send({ todo });
});

// 출력
router.get("/todos", async (req, res) => {
  const todos = await Todo.find().sort("-order").exec();

  res.send({ todos });
})

app.use("/api", bodyParser.json(), router);
app.use(express.static("./assets"));

app.listen(8080, () => {
  console.log("서버가 켜졌어요!");
});

 

728x90
반응형

'일기 > 기타' 카테고리의 다른 글

[독후감] 그리스인 조르바  (3) 2024.08.30

+ Recent posts