CMD> npm i mongodb --save
MongoDB 설치
const db = require('mongodb').MongoClient;
const dbUrl = 'mongodb://id201:pw201@1.234.5.158:37017/db201';
mongodb://아이디:암호@서버주소:포트번호/DB명
board.js - POST
router.post('/insert', async function(req, res, next)
const dbConn = await db.connect(dbUrl);
const coll = dbConn.db("db201").collection("seqboard");
dbConn.db("db201")
collection("seqboard");
seqboard
라는 폴더(collection) 생성하고 값(글번호)을 넣을 것.CRUD : 추가, 조회, 수정, 삭제 (Create, Read, Update, Delete)
수정하기 findOneAndUpdate
const result
= await coll.findOneAndUpdate(
{ _id:'SEQ_BOARD_NO' }, { $inc : {seq : 1} }
{앞은 가지고오는 조건} , {뒤는 업데이트되는 항목}
{_id가 'SEQ_BOARD_NO' 가져오세요}, { seq값을 기존값에 1 증가시킴 }
{
lastErrorObject: { n: 1, updatedExisting: true },
value: { _id: 'SEQ_BOARD_NO', seq: 3 },
ok: 1
}
result1.value.seq
console.log('글번호', result.value.seq);
-------------------------------------
{ title: '제목', writer: '홍길동', content: '내용글내용' }
-------------------------------------
글번호 13
NoSQLBooster > seqboard
NoSQLBooster > board
Code
//글쓰기(post) : localhost:3000/board/insert //app.js에 있는명칭
// req : request :(요청, 전달되어) 들어오는 값의 정보 => POST : req.body
// res : response :전달하는 값
router.post('/insert', async function(req, res, next) {
try{
console.log("-------------------------------------");
console.log(req.body);
console.log("-------------------------------------");
const dbConn = await db.connect(dbUrl);
const coll = dbConn.db("db201").collection("sequence");
const result = await coll.findOneAndUpdate(
{ _id:'SEQ_BOARD_NO' }, { $inc : {seq : 1} }
);
console.log('글번호', result.value.seq);
const coll1 = dbConn.db("db201").collection("board");
const result1 = await coll1.insertOne({
_id : Number(result.value.seq),
title : req.body.title,
content : req.body.content,
writer : req.body.writer,
hit : 1,
regdate : new Date()
});
console.log(result1);
if(result1.insertedId > 0){
return res.send({status:200});
}
return send({status:-1})
}
catch(err){
console.error(err);
res.send({status:-2});
}
});