Develop/Node.js

[Node.js]DB에 자료 저장하기

dawonny 2022. 7. 19. 02:46
728x90
반응형

database 는 일종에 폴더 같은 개념이고

collection 은 그 안에 들어가 있는 파일 개념이다.

db 는 todoapp 이라는 db로 설정한거고

collection은 post 라는 collection 으로 설정한거다.

데이터하나를 insertOne 으로 삽입하도록 했다.

만약 수행하고 나면 콘솔에 저장완료라고 뜨도록 했다.

들어가서 refresh 하니 잘 들어간 것을 확인할 수 있다.

 

(자료 저장할 때 _id 를 꼭 적어야하는데 안적으면 하나를 강제로 부여해준다)


폼에 입력한걸 db에 저장해보는 코드를 짜봤다.

const express = require("express");
const app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));

var db;
const MongoClient = require("mongodb").MongoClient;
MongoClient.connect(
  "~~URL~~",
  function (에러, client) {
    if (에러) return console.log(에러);

    db = client.db("todoapp");

    db.collection("post").insertOne(
      { _id: 1, 이름: "john", 나이: 20 },
      function (에러, 결과) {
        console.log("저장 완료");
      }
    );

    app.listen(8080, function () {
      console.log("listening on 8080");
    });
  }
);

app.post("/add", function (요청, 응답) {
  응답.send("전송완료");
  console.log(요청.body.title);
  console.log(요청.body.date);

  db.collection("post").insertOne(
    { title: 요청.body.title, date: 요청.body.date },
    function (에러, 결과) {
      console.log("저장 완료");
    }
  );
});

/add 경로로 post 요청을 하면, 데이터 2개를 보내주는데 

post 라는 collection에 이 데이터 2개를 저장하도록 했다.

만약에 실행하면, 콘솔에 저장완료라고 출력하도록 했다.

폼에다가 입력한대로 db에 잘 저장하는 걸 확인할 수 있었다.

728x90
반응형