LeeWang_31
이왕31
LeeWang_31
전체 방문자
오늘
어제
  • 분류 전체보기 (234)
    • 프로젝트 (2)
      • 사이드 프로젝트 (2)
      • Codestates_pre_project (0)
    • 프론트엔드 (169)
      • Html (19)
      • CSS (18)
      • JavaScript (29)
      • Codestates (76)
      • 코딩노트 (27)
    • 백엔드 (10)
      • node (10)
    • 구르는 돌 🌑 (16)
      • Codestates (11)
      • 생각 (4)
      • 공부 흔적 (1)
    • 정보 (18)
      • 오류노트 (2)
      • 인텔리제이 정보 (9)
      • 깃 정보 (3)
      • 기타 정보 (4)
      • 안드로이드스튜디오 정보 (0)
    • CS (7)
      • 이론공부 (7)
    • App (6)
      • Android (3)
      • Kotlin (3)
    • 컴퓨터 수학 (5)
      • 암호론 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 웹팩
  • ubuntu
  • 번들링
  • 생활코딩
  • 안드로이드스튜디오파이어베이스
  • 코드스테이츠
  • 코딩애플
  • 사용자 친화 웹
  • 2609
  • 파이어베이스연동
  • 알고리즘
  • 코플릿
  • 백준
  • 사이드프로젝트
  • JavaScript
  • css
  • 자바스크립트
  • DP
  • linuix 코드스테이츠
  • 안드로이드스튜디오범블비
  • TODOlist
  • figjam
  • React
  • html
  • UI/UX
  • linux
  • codestate
  • 사용자친화웹
  • 2693
  • 1292

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
LeeWang_31

이왕31

[Node.js/MongoDB] MongoDB에 데이터 저장하기
백엔드/node

[Node.js/MongoDB] MongoDB에 데이터 저장하기

2022. 12. 15. 11:38

코딩애플님의 Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기 강의를 듣고 복습의 목적으로 작성하였습니다

MongoDB에 데이터 저장하기

MongoDB설정

MongoDB로 돌아와 다음을 눌러줍니다.

 

collection으로 들어갑니다

 

add my own data를 눌러줍니다.

 

다음과 같이 원하는 방법으로 작성을 하고 create를 눌러줍니다.

생성이 되었습니다.

js설정

데이터를 담아줄 db라는 변수를 생성합니다.

//index.js
const express = require('express')
const app = express()
const port = 3001
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: true}))

let db;

const MongoClient = require('mongodb').MongoClient;
MongoClient.connect(`mongodb+srv://${process.env.MONGODB_USER_ID}:${process.env.MONGODB_USER_PW}@cluster0.pso4lve.mongodb.net/?retryWrites=true&w=majority`, function (err, client) {
    if (err) {
        return console.log(err)
    }
    app.listen(port, () => {
        console.log(`Example app listening on port ${port}`)
    });
})

app.get('/', (req, res) => {
    res.sendFile(__dirname + '/index.html');
})
app.get('/write', (req, res) => {
    res.sendFile(__dirname + '/write.html');
})
app.post('/add', function (req, res) {
    console.log(req.body);
    res.send('전송완료')
});

 

connect 콜백함수 안에서 db와 mongoDB의 폴더인 todoApp을 연결해줍니다

db = client.db('todoApp');

 

그 아래 db를 통해 collection인 post에 데이터를 보내줍니다

db.collection('post').insertOne({title: '고양이 밥주기', data: '12월20일'}, function (err, result) {
    console.log('저장완료');
});

 

insertOne은 첫 인자로 보낼 데이터를 객체 형태로 보내고 두번째 인자는 optional하게 사용되는데 콜백함수를 사용할 수 있습니다.

https://www.mongodb.com/docs/manual/reference/method/db.collection.insertOne/

 

db.collection.insertOne() — MongoDB Manual

Docs Home → MongoDB Manual db.collection.insertOne()mongosh MethodThis page documents a mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the insert command.For

www.mongodb.com

다음을 실행 해보겠습니다.

 

저장이 잘 되었음을 알수 있습니다.

 

html에서 데이터 넘겨주기

//index.js
const dotenv = require('dotenv')
const express = require('express')
const app = express()
const port = 3001
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: true}))
dotenv.config();

let db;
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect(`mongodb+srv://${process.env.MONGODB_USER_ID}:${process.env.MONGODB_USER_PW}@cluster0.pso4lve.mongodb.net/?retryWrites=true&w=majority`,
    function (err, client) {
        if (err) {
            return console.log(err)
        }
        db = client.db('todoApp');

        app.post('/add', function (req, res) {
            console.log(req.body);
            db.collection('post').insertOne({title: req.body.title, data: req.body.date}, function (err, result) {
                console.log('저장완료');
            });
            res.send('전송완료')
        });
    })

app.get('/', (req, res) => {
    res.sendFile(__dirname + '/index.html');
})
app.get('/write', (req, res) => {
    res.sendFile(__dirname + '/write.html');
})
app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
});

req.body에 html에서 보내주는 데이터가 저장되어 있다.

각각을 객체 형식에 맞게 보내주면 된다

저작자표시 (새창열림)

'백엔드 > node' 카테고리의 다른 글

[Node.js/MongoDB] MongoDB에 데이터 확인하기 (feat . EJS)  (0) 2022.12.15
[Node.js/MongoDB] MongoDB 세팅 (무료호스팅)  (0) 2022.12.15
[Node.js/MongoDB] Post 데이터 넘기기  (0) 2022.12.14
[Node.js/MongoDB] Html파일 전송하기  (0) 2022.12.14
[Node.js/MongoDB] nodemon  (0) 2022.12.14
    '백엔드/node' 카테고리의 다른 글
    • [Node.js/MongoDB] MongoDB에 데이터 확인하기 (feat . EJS)
    • [Node.js/MongoDB] MongoDB 세팅 (무료호스팅)
    • [Node.js/MongoDB] Post 데이터 넘기기
    • [Node.js/MongoDB] Html파일 전송하기
    LeeWang_31
    LeeWang_31
    이왕 할 거면 기분 좋게

    티스토리툴바