일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- express
- OpenStack
- 클라우드
- 실습
- git
- Javascript
- Docker Swarm
- Docker-compose
- gns3
- dockerfile
- 쿠버네티스
- 용어정리
- docker
- PaaS
- worker
- 개념
- 네트워크
- node.js
- MongoDB
- RAPA
- IaaS
- network
- nodejs
- kubernetes
- 명령어
- mysql
- PAT
- 이론
- RAID
- 도커
- Today
- Total
목록MongoDB (7)
융융이'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..
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..
mongoDB Cluster세팅 1. MongoDB(https://www.mongodb.com/)들어가서 로그인 2. New Project - 프로젝트 이름 - 사용자 권한 - 지역설정 ... - 보안 설정!( IP 허용 꼭 설정해줘야 합니다. Default로 허용 IP가 아무것도 없기 때문에 이 설정 안하시고 연동하면 Server connection rejection 에러가 뜹니다.!! 3. 컬렉션 만들기(User, Board, Comment, Like...등) GUI 환경에서 간단하게 만들수 있습니다. Express와 mongoDB의 연동 const { mongoDBurl } = require('../../../config/mongoDBconfig'); const MongoClient ..
mongoDB mongoDB는 NoSQL중 하나이다. mongoDB의 구조는 위 그림과 같이 구성되어 있다. Document가 모여서 Collection이 되고, Collection들이 모여서 Database를 이루게 됩니다. Document JSON과 비슷한 BSON구조로 되어 있다. RDB과 비교 mongoDB는 C++로 짜여진 오픈소스 데이터베이스이다. 문서지향(Document-Oriented)적이며 뛰어난 확장성과 성능을 자랑한다. NoSQL이다. RDBMSMongoDB DataBase DataBase Table Collection Tuple/Row Document Column Key/Field Table Join Embedded Documents PrimaryKey Primary Key(_id)..