server.js 2.13 KB
const express = require('express');
const app = express();
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended : true}));
app.set('view engine', 'ejs');

var db;
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb+srv://admin:qwer1234@cluster0.m2pvs.mongodb.net/myFirstDatabase?retryWrites=true&w=majority', function(에러, clinet){
    // 연결되면 할 일
    if(에러){
        return console.log(에러);
    }
    db = clinet.db('todoapp');

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

});

app.get('/pet', function(요청, 응답){
    응답.send('펫쇼핑할 수 있는 페이지입니다.');
});

app.get('/beauty', function(요청, 응답){
    응답.send('뷰티용품 쇼핑할 수 있는 페이지입니다.');
});

app.get('/', function(요청, 응답){
    응답.sendFile(__dirname + '/index.html');
});

app.get('/write', function(요청, 응답){
    응답.sendFile(__dirname + '/write.html');
});

app.post('/add', function(요청, 응답){
    응답.send('전송완료');
    db.collection('counter').findOne({name : '게시물갯수'}, function(에러, 결과){
        console.log(결과.totalPost)
        var 총게시물갯수 = 결과.totalPost

        db.collection('post').insertOne({ _id : 총게시물갯수 + 1, 제목 : 요청.body.title, 날짜 : 요청.body.date}, function(에러, 결과){
            console.log('저장완료')
            // counter라는 콜렉션에 있는 totalPost라는 항목도 1 증가시켜야함
            db.collection('counter').updateOne({name:'게시물갯수'},{ $inc : {totalPost:1} },function(){
                if(에러){
                    return console.log(에러)
                }
            })
        });   
    });
});

app.get('/list',function(요청, 응답){
    // DB에 저장된 post라는 collectino안의 ~~인 데이터를 꺼내주세요
    db.collection('post').find().toArray(function(에러, 결과){
        console.log(결과);
        응답.render('list.ejs', {posts : 결과});
    })
});

app.delete('/delete',function(요청,응답){
    console.log(요청.body)
    
})