일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PaaS
- RAPA
- 용어정리
- express
- gns3
- 개념
- dockerfile
- 이론
- docker
- worker
- 명령어
- OpenStack
- Javascript
- PAT
- RAID
- kubernetes
- 네트워크
- mysql
- IaaS
- network
- node.js
- nodejs
- Docker Swarm
- git
- MongoDB
- Docker-compose
- 실습
- 클라우드
- 쿠버네티스
- 도커
- Today
- Total
목록프로그래밍 (173)
융융이'Blog
SQL문장과 Mongo에서 사용하는 명령어를 비교한 것입니다. MySQL 용어 Mongo 용어 database database table collection index index row BSON document column BSON field join embedding and linking SQL 문장 Mongo 쿼리 문장 CREATE TALE USERS (a int, b int) db.createCollection("mycoll") INSERT INTO USERS VALUES (3,5) db.users.insert({a:3, b:5}) SELECT a, b FROM USERS db.users.find({}, {a:1, b:1}) SELECT * FROM users db.users.find() SELEC..
ORM 프레임워크(Oject-Relational-Mapping) 란? ORM은 데이터베이스와 객체지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 관계 매핑이라고도 한다. 객체지향 언어에서 사용할 수 있는 '가상' 객체 데이터베이스를 구축하는 방법이다. ORM(Object-realtional Mapping)을 단순하게 표현하면 객체와 관계와의 설정이라 할 수 있다. ORM에서 말하는 객체(Object)의 의미는 우리가 흔히 알고 있는 OOP(Object Oriented Programming)의 객체를 의미한다는 것을 쉽게 유추할 수 있다. ORM 개념이 나온 이유는 코딩의 반복적인 부분을 줄일 수 있고 SQL의 의존적인 코딩에서 벗어나 생산적인 코딩이 가능하며 유지보수가..
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..