4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2023년 8월 1일 17:03 #93058
leesw참가자const express = require('express'); const app = express(); const MongoClient = require('mongodb').MongoClient; app.set('view engine', 'ejs');
var db;
MongoClient.connect('mongodb+srv://admin:1q2w3e4r@codingapplepractice.j8h804d.mongodb.net/?retryWrites=true&w=majority', { useUnifiedTopology: true }, function (에러, client) { app.listen(8080, function () { console.log("Welcome to 8080 port!"); }); app.use(express.urlencoded({ extended: true })) // form data 전처리 구문
db = client.db('todoapp') // db는 작업폴더, collection은 찐 db 느낌
app.post('/add', (요청, 응답) => { db.collection('counter').findOne({name : "게시물개수"}, (에러, 결과)=>{ const totalPost = 결과.totalPost
db.collection('post').insertOne({_id : totalPost + 1, "제목": 요청.body.title, "기한": 요청.body.date }, () => {
db.collection('counter').updateOne( {name : '게시물개수'} , { $inc : { totalPost : 1 } }); // db의 총 게시글 수를 1만큼 증가
const formData = 요청.body console.log("/add로 POST 요청이 들어와 다음과 같은 데이터가 DB에 저장됨 => " + JSON.stringify(formData)); }); })
응답.send( ` <div style = "text-align : center; margin-top : 25%; margin-bottom : 25px;">POST request Done!\n</div> <div style="display: flex; justify-content: center;" > <button onclick="location.href='/'" style = "text-align : center;">Main page</button> </div> `); }) });
app.get('/', function (요청, 응답) { 응답.sendFile(__dirname + '/htmls/index.html') });
app.get('/write', function (요청, 응답) { 응답.sendFile(__dirname + '/htmls/write.html') });
app.get('/list', function (요청, 응답) { db.collection('post').find().toArray(function (에러, 결과) { 응답.render(__dirname + '/htmls/list.ejs', { todos : 결과 }) }); });
app.delete('/delete', (요청, 응답) => { console.log(요청.body) });
프론트단 코드
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script> $.ajax({ method : 'DELETE', url : '/delete', data : {_id : 1} }) </script> delete 경로로 data를 넘겨서 콘솔로 찍어보는데 무슨짓을 해도 다 undefined라 뜹니다. express json 어쩌구도 use해보고 cdn 링크를 다 지웟다가 다시 해봐도 여전합니다
-
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.