본문 바로가기

DB8

ORM과 ODM ODM (Object Data Mapping) NoSQL에서 Document Database를 지원하기 위해 데이터를 변환하는 프로그래밍 기법 MongoDB 특징 Join이 없으므로 Join이 필요 없도록 데이터 구조화가 필요 다양한 종류의 쿼리문 지원(필터링, 수집, 정렬, 정규표현식 등) 관리의 편의성 스키마 없는(Schemaless) 데이터베이스를 이용한 신속 개발. 필드를 추가하거나 제거하는 것이 매우 쉬움 쉬운 수평 확장성 인덱싱 제공 종류 mongoose: node.js 기반으로 MongoDB와 프로그램 사이 데이터를 변환해주는 ODM ORM (Object Data Mapping) 데이터베이스와 객체 지향 프로그램이 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법 ORM이란 객체(클.. 2022. 12. 20.
SQL (Structured Query Language) SQL이란? 데이터를 아무리 많이 모아놓더라도 활용하지 않으면 가치가 없습니다. 조건에 맞는 데이터를 활용할 수 있어야 하고, 끊임없이 변하는 내용을 지속적으로 삽입, 수정, 삭제, 조회가 가능해야 합니다. 그런 상황에서 데이터를 어떻게 관리해야할 지 고민한 결과 모든 데이터들을 공통적으로 관리할 수 있는 표준 언어인 SQL이 탄생하게 되었습니다. 즉 생성, 삽입, 조회 명령문을 SQL(Structured Query Language)이라고 합니다. SQL의 종류들 DDL (Data Definition Language) DDL은 데이터를 정의할 때 사용하는 언어로 테이블이나 데이터베이스를 생성, 수정, 삭제와 같은 행위를 할 때 사용합니다. CREATE DATABASE, TABLE, VIEW, INDEX .. 2022. 12. 20.
역순 Sort 정렬, Limit 제한하기 Sort const posts = await Post.find().sort({ title: -1 }); 위와 같이 find() 뒤에 .sort()을 붙입니다. 1은 순차, -1은 역순입니다. MongoDB에서 했을 경우 Limit sort와 같이 뒤에 Limit()을 붙입니다. const posts = await Post.find().sort({ title: -1 }).limit(3); MongoDB에서 했을 경우 2022. 12. 14.
[Mongoose] Schema 세팅 할 때 createdAt 자동 설정 createdAt, updatedAt 자동 생성 postSchema.set('timestamps', true); createdAt만 저장 postSchema.set('timestamps', { createdAt: true, updatedAt: false }); 2022. 12. 14.
[Mongoose] 스키마와 모델 스키마(Schema)와 모델(Model) 스키마는 컬렉션에 들어가는 문서 내부의 각 필드가 어떤 형식으로 되어 있는지 정의하는 객체이다. 모델은 스키마를 사용하여 만드는 인스턴스로, 데이터베이스에서 실제 작업을 처리할 수 있는 함수들을 지니고 있는 객체이다. 스키마 생성 스키마를 만들 때 mongoose모듈은 Schema를 사용하여 정의한다. 각 필드 이름과 필드의 데이터 타입 정보가 들어 있는 객체를 작성한다. 필드의 기본값으로는 default 값을 설정하면 된다. 스키마 내부에 다른 스키마를 내장 시킬 수도 있다. const mongoose from 'mongoose'; const { Schema } = mongoose; const PostSchema = new Schema({ title: Strin.. 2022. 12. 13.
[Mongoose] 코드에서 MongoDB 사용하기 mongoose의 문서(Document)란? MongoDB에서 가지고 있는 각 데이터 하나하나를 문서(Document)라고 정의합니다. 1개 이상의 Key-Value의 쌍으로 이루어져있습니다. { "_id": ObjectId("6682192a1c155bd2f27881"), "name": "kjm", } mongoose의 컬렉션(Collection)이란? JSON 형식의 여러가지 문서(Document)를 보유할 수 있습니다. 이후에 설명할 관계형 데이터베이스(RDB)의 Table과 동일한 역할을 합니다. mongoose의 스키마(Schema)란? 스키마는 컬렉션(Collection)에 들어가는 문서(Document)에 어떤 종류의 값이 들어가는지를 정의합니다. 데이터를 모델링할 때 사용합니다. mongoo.. 2022. 12. 13.