일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Javascript
- RAID
- OpenStack
- Docker-compose
- express
- nodejs
- 용어정리
- Docker Swarm
- IaaS
- 실습
- 클라우드
- PaaS
- MongoDB
- PAT
- mysql
- worker
- dockerfile
- 도커
- kubernetes
- 명령어
- 개념
- 네트워크
- 이론
- network
- node.js
- docker
- gns3
- RAPA
- git
- 쿠버네티스
- Today
- Total
목록2022이전/node.js (17)
융융이'Blog
MongoDB는 cascade On 과 같은 기능을 따로 제공하지 않는 거 같다. 아무리 검색을 해봐도 mongDB 모델링 할 때 따로 지정해주는 것이 없었던 같다.(앞서 1장에서 말했던 내용) 대신 MongoDB는 미들웨어를 통해서 cascade On과 같은 기능을 따로 만들어 줘야한다.(이걸 일일이 지정해준다니 미쳤군) 미들웨어를 만들어 낼 때 중요한 것은 pre와 post를 잘 구분해 줘야한다. 왜냐하면 내가 값을 저장할 때 pre를 이용하게 되면 생성전의 외래키값을 참조할 수 없기 때문이다. 번외로 나중에 ORM을 이용하면 belong_to 와 같은 것을 이용하면 편하게 구현할 것 같다. 다음에 알아보기로 하자 model/User.js ... //유저를 삭제할 때 UserSchema.pre('de..
controller/like.js module.exports = { toggle_like: async(req, res) => { const user = req.body.user; const { board_id } = req.params; let result = {}; const is_liked = await Like.findOne({$and: [{user: user}, {board: board_id}]}); // 해당 게시물에 좋아요 일때 if(is_liked){ await Like.findByIdAndDelete(is_liked); result = {data : false} } // 해당 게시물에 좋아요 아닐때 else{ //creat에 save명령어도 같이 실행된다. await Like.create(..
Comment.js module.exports = { //게시물에 댓글 작성하기 create: async (req, res) => { const { user } = req.body; let comment = new Comment({ content : req.body.content, board : req.params.board_id, user : user, }); result = await comment.save(); return res.json(result); }, //게시판에 해당하는 댓글 모두 불러오기 read: async (req, res) =>{ const result = await Comment.find({board: req.params.board_id}) .populate('user&#..
module.exports = { // 게시글 작성하기 create: async (req, res) =>{ const { title, content, user } = req.body; console.log(content); console.log(title); const find_user = await User.findById(user._id); const board = await Board.create({ title, content: req.body.content, user: find_user }); const result = await board.save(); console.log(result.user_id); return res.json(result); }, // 특정 게시글 불러오기 read: as..
Controller/User.js //상태코드 const utils = require('../module/utils/utils'); const responseMessage = require('../module/utils/responseMessage'); const statusCode = require('../module/utils/statusCode'); //ex>res.status(statusCode.BAD_REQUEST).send(utils.successFalse(responseMessage.X_NULL_VALUE(missParameters))); //ex>res.status(statusCode.OK).send(utils.successTrue(responseMessage.BOARD_CREATE_SUC..
User email : string/trim/unique/required name : string/trim password(암호화 x) string/최소 4글자 이상 Board title : String/require Content : String/require user : objectId/ref:'User' Likes : [objectId/ref:'User'] Comment content: String user : objectId/ref:'User' board: objectId/ref:'Board' Parent_comment:ObjectId/ref:'Comment' re_comments:[objectId/ref:'Comment'] Like User : objectId/ref:'User' Board: o..
주요기능 Router.js var express = require('express'); var router = express.Router({mergeParams: true}); const User = require('../controllers/user'); const Board = require('../controllers/board'); const Comment = require('../controllers/comment'); const Like = require('../controllers/like'); //user routes router.post('/user/signup', User.signUp); //회원가입 ..
Node.js로 기본적인 데이터베이스를 연동하기 위해서는 express 를 통하여 node.js 기반 웹 모듈을 설치해준다. npm install express express-generator express PROJECT_NAME npm install 다음으로 데이터베이스(mySQL)를 이용하기 위해서 mySQLWorkbench를 설치해준 뒤 database를 만들어주고 사용하고자 하는 table을 만들어준다. 자세한 내용은 mySQL 자료를 확인해 보자. Localhost, Host, port, password 값을 확인해준뒤 이제 node.js에 적용을 시켜보자 config라는 폴더를 만들어주고 그안에 dbconfig.js 파일을 만들어준다. const mysql = require('promi..