
코딩애플님의 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 |