본문 바로가기

MongoDB5

코딩애플 - Nextjs 로 게시판 글 작성하기 게시판 내용 목록 불러오기 먼저 /list 로 라우팅 처리를 해준다. 폴더 list 를 app 폴더 안에 만들고 -> list 폴더 안에 page.js 를 만들어준다. 해당 page.js 안에 몽고DB를 연동하고 게시글 목록을 불러와준다. import {connectDB} from '@/utils/database' const client = await connectDB; const result = await client.db('forum').collection('post').find().toArray(); MongoDB를 connect 시켜둔 코드를 import 하고 client 에 db, collection 에 접근해준다. 잘 불러와진다. 그 다음으론 게시글의 상세페이지 이동을 처리 -> Dynamic.. 2023. 6. 25.
코딩애플 - Next.js 에서 MongoDB 연결하기 새로운 프로젝트 시작 npx create-next-app@latest MongoDB 사용하기 분산처리가 용이 (많은 데이터가 빠르게) 1. Project 생성 2. Database Access 에서 User 생성 -> 데이터베이스에 접속할 수 있는 아이디/비번 생성 3. 유저 생성 시, Built in Role 항목을 atlas admin 으로 설정! 4. Network Access 에서 신뢰할 수 있는 IP 를 수동으로 지정... 하지만 공부용이므로 0.0.0.0/0 이나 Allow access from anywhere 로 설정 5. Database 에 접근하여 새로운 데이터베이스를 생성해준다. 아직 자료가 없어서 저 화면! Next 에서 MongoDB 사용하기 Database > Collection .. 2023. 6. 24.
KDT 5th 웹개발자 입문 수업 33일차 코드 리팩토링 기존 코드를 더 좋게 변경(개선)하는 것 새로운 기능을 추가할 때 예전 기술을 새로운 기술로 변경할 때 기존 코드를 더 가독성이 좋거나 확장성이 좋은 코드로 변경할 때 현재 코드의 문제점은 컨트롤러와 라우터가 중복된 작업을 한다. 하나의 곳에서 처리가 가능한 일을 굳이 둘로 나누어 처리하고 있기 때문에 라우터는 주소 연결만 하도록 만들고, 회원 가입에 대한 처리를 컨트롤러에서 전부 처리하도록 리팩토링해준다. // .eslintrc.js 수정하기 module.exports = { extends: ['airbnb-base'], rules: { 'linebreak-style': 0, 'no-console': 'off', 'operator-linebreak': 'off', 'consistent-r.. 2023. 3. 22.
KDT 5th 웹개발자 입문 수업 32일차 몽고DB - 문서 데이터 저장소 스키마리스(schema-less)인 몽고DB는 컬렉션과 문서가 비구조적이다. 몽고DB 인스턴스(컬렉션 및 문서) 구조는 사전에 정의되지 않고 저장되는 데이터에 적합하도록 유연하게 변형된다. document는 키-값 집합으로 동작 방식은 자바스크립트와 같은 코드의 객체와 매우 유사하며, 안에 들어가는 데이터에 따라 구조가 변경된다. 그러므로 몽고DB는 관계형 DB에 비해 쉽고 민첩하다. MongoDB의 ID 필드 RDBMS 에는 기본키가 있는데, 몽고DB에도 비슷한 목적으로 모든 문서에 id필드가 존재한다. 몽고DB 엔진이 UUID로 자동 생성하는데 id 필드는 기본키와 마찬가지로 자동으로 인덱싱 되며, 고유해야 한다. 몽고DB의 인덱싱 관계형 데이터베이스의 인덱싱과 비슷 .. 2023. 3. 21.