상황
예전에도 몽고디비가 연결안되서 고생했었는데, 그때 해결했던 방법이
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