728x90 반응형 SMALL 분류 전체보기135 1) Models, Controllers, Routes 생성 6월 부터 준비했던건데.. 혼자 개발을 하려니깐 이게 쉽지가 않았다 배운걸 토대로 가장 기본이 되는 블로그 포스팅 (CRUD) 과 실시간 대화앱인 채팅 (Web - Socket) 을 구현 하기로 방향을 정했고 먼저 server 부터 만들어 놓고 client는 react로 만드려 한다 소셜 로그인도 적용 시키고 싶었으나 간단하게... 자 이제 이걸 가지고 Controller를 만들어야 한다 그리고 처음엔 userController와 authController를 합쳐서 했었다 이게 뭐 문제 될건 아닌데 뭔가 따로 분리 시키는 편이 관리 편할거같아 나눴다 그리고 의외로 컨트롤러가 꽤 많이 들어가더라는것도 저 둘을 분리 시킨 이유도 있다 포스트맨을 사용해 데이터 넣고 뭐 해봤는데.. follow와 unfollo.. 2023. 10. 17. 21) mongoDB Tutorial - indexes index를 쓰면 DB 서버가 특정 쿼리를 수행해 document를 검사 할 필요 없이 훨씬 효율적으로 document를 찾아 올수 있다 만약 등급 필드값이 10인 모든 책을 가져온다 해보자 db.collection("books").find({ "rating": 10 }) 몽고디비는 저걸 수행하기 위해 먼저 컬렉션 전체를 열어 볼거고 가장 처음부터 하나한 rating값을 10과 비교할거다 만약 천권의 책이 있다면 전부다 비교를 하는거지 이게 비효율이란거다 그럼 효율적인건 뭔데? book_Rating index 라는걸 만들어 rating 필드 값만 인덱스로 둬서 값이 맞냐 틀리냐 비교하는편이 더 효율인거지 뭘 찾는데 전체 필드 싹 불러다 올필요 없이 해당필드만 갖고와서 비교하고 맞느거만 이제 전체를 가져오.. 2023. 10. 10. 20) mongoDB Tutorial - Pagination 하기 지금 하려는건 자 여기서 좀 보면.. 진짜 들어있는 데이터를 뭉탱이로다가 싹 가져온다 만약 책이 1000권있으면..? 그걸 다 갖고와?? 지금 하려는건 일종의 데이터정제하는거다 페이징기능 구현할때 뭐 10개단위 묶음으로 데이터를 불러와 보여주는 그런걸 만들거다 이때는 바로 http://localhost:3000/books/?page=1 뭐 이런식으로 생긴거.. 바로 url 주소에 쿼리 매개변수를 적용하는것!! 이런거 처리 하는데가 다 백엔드에서 하는거다 졸라 쉽고 간단하다 만들어 놓으면 어디가서 복붙해 써먹기 편한 모듈같이럼 쓰면 된다 page안에 요청한다.쿼리값을.이름이page인 또는|| 0이거나 booksPerPage에 총량을 3개로 초기화 한거고 .skip()을 쓸건데 내가 던질 0~ n까지의 수가.. 2023. 10. 9. 19) mongoDB Tutorial - POST, DELETE , PATCH등.. 구현 ㄱㄱ /books 에 POST로 새 책을 생성 할거다 먼저 book에 내가 입력한 책 정보를 담고 DB에 책정보를 insertOne로 저장하는데 then()으로 성공하면 응답 하고 catch()로 실패하면 실패를 응답 한다 이렇게 값을 다 입력해서 던져 주면 와 이건 쫌 궁금하네... 저거 어디서 어떻게 나온거 만약 입력 값이 없을때는? 공백으로 두면 된다 JSON으로 값을 던지거나 할때 먼저 해줘야 할게 있다 저렇게 express.json() 이라고 해줘야 이제 데이터를 json으로 던지고 할수 있 DELETE 요청 함 해보자 특정 책을 삭제를 할거다 요청한 책이 유효한지 부터 if-else로 보고 DB에서 책을 삭제해 deleteOne() 으로 삭제 결과를 응답하고 에러시 에러를 응답해준다 else로 존재.. 2023. 10. 9. 18) mongoDB Tutorial - 포스트맨 사용하기 아아 전부터 쓰고 있던 프로그램인데... 사실 활용도 높게 쓰고있지는 않다 그 이유는 잘 몰라서 ㅎㅎㅎ 기본사항만 알아도 충분 할거도 같은디.. 저 + 기호 눌러 하나씩 창을 더 띄울수 있고 여기서 내가 뭘 할건지 골라서 주소를 입력 후 SEND 눌러 값을 뭐 갖고오고 갖다 주고 그러는거다 아 이때 당연 서버는 열어놔야하는거고 아 그리고 이거 다음번에 또 바로 열어볼수있게 저장하는게 있다 위에 save 버튼 누르고 이름정해서 저기서 불러다 쓰는 아주아주 간편한 테스트가 가능해 진다 2023. 10. 9. 17) mongoDB Tutorial - 데이터 가져오기 연결 끝났고 데이터를 갖고 와보자 .find()는 데이터 가져오는 메서드 .sort({ author: 1 }) 은 문서 정렬하는 메서드고 .forEach((book) => books.push(book))은 배열의 각 요소에 대해 지정된 함수를 실행하는 메서드다 데이터베이스에서 책 목록을 가져온 후 저자 이름 순으로 정렬하여 books 배열에 저장 하는 기능이다 뽑아 보면 이래 나온다 책 한권만 갖고오는건? 특정 책에 대한 단일 경로를 가져와서 보여 줄거다 특정 책이라면.. _id 값을 갖고 오면 되는거고 대충 /books/:id 뭐 이런식으로 될거 같고 그럼 내가입력한id res.params.id 가 될거 같은데.. 가보자고 if-else 로 (Object.isValid(req.params.id)가 유효.. 2023. 10. 9. 16) mongoDB Tutorial - DB 연결하기 DB연결을 위해 db.js 파일을 만들고 연결을 위한 connectToDB() 함수와 연결 후 유지를 위한 getDB() 함수를 만든다 만들어진 파일을 연결시켜 서버에 db를 붙여 줘야 하니깐 이렇게 db 커넥션 부분을 만들어주는걸로 끝! 2023. 10. 9. 15) mongoDB Tutorial - MongoDB Drivers 몽고디비 GUI에서 데이터를 갖고 놀아봤는데 이제 뭐 웹 개발등을 할때 사용을 할거 아닌가 이때 각 애플리케이션간에 그 필요한 드라이버가 있다 Python 으로 만들경우 MongoDB용 Python 드라이버를 설치 한다거나 Node로 만들경우 PHP로 만들경우 등등등 그에 맞는 드라이버가 필요하다 드라이버가 필요한 이유는 개발에 있어 mongoDB와 소통을 할 수 있기 때문이다 https://www.mongodb.com/docs/drivers/ Start Developing with MongoDB — MongoDB Drivers Docs Home → MongoDB Drivers You can connect your application to your MongoDB Atlas deployment or a .. 2023. 10. 8. 14) mongoDB Tutorial - 데이터 수정하기(Updating Documents) Create 해봤고 Read 해봤고 Delete 해봤고 이제 U만 할줄 알면 솔직히 다 끝났다 이것도 하나만 업뎃하거나 뭉탱이로 업뎃하거나 두가지다 (ㄷㄷ 왜 뭉탱이로 업뎃 할일 뭐가 있음..?) 이거 한번 수정해 보자 특정 데이터만 갖고 오려면 어떻게 하라고? 요거만 있음 되다고오~ 그럼 고쳐 보자 이런 결과값이 반영 되는데 modifiedCount(수정된)가 1 이라는건 수정된 문서는 하나란 말이다 rating 점수 8점이고 pages 쪽수느 360으로 수정이 됬 이게 하나만 업데이트(수정)을 한 경우다 여기서 중요한건 저 두번째 인수로 들어간 {$set: { 바꿀필드: 값, 다른바꿀필드: 값 } } 여러개를 수정하려면..? 두개가 바꼈다 그니깐 이게 바뀌는 원리를 알아야 됨 저걸 읽어 보자면 db안.. 2023. 10. 6. 이전 1 ··· 3 4 5 6 7 8 9 ··· 15 다음 728x90