휴가기념 미뤄놨던 백엔드를 기초부터 다시 공부하기로 함
데이터베이스
데이터를 체계화하여 관리하는 데이터의 집합 또는 해당 작업을 수행하는 응용프로그램을 의미합니다. 몽고디비는 NoSQL데이터 베이스이다.
- MongoDB는 도큐먼트 타입이다. (JSON형식과 유사한 형식의 객체를 담은 데이터를 저장합니다.)
데이터베이스 기본용어
- 테이블 : 특정 주제에 대한 행과 열로 이루어진 데이터의 모음
- 로우는 관계형 데이터베이스의 테이블에서 단일 구조 데이터 항목을 의미합니다.
- 기본키(PK) : 중복된 값을 가질 수 없다. 데이터를 식별하는데 필요한 키입니다.
- 외래기(FK) : 두 테이블을 연결하는데 사용하는 키
- 트랜잭션 : 데이터 변경을 수행하는 작업 단위
MongoDB CRUD 하기
연산자
- $set : 속성값을 변경할 때 사용
- $unset : 속성을 삭제할때
- $rename : 도큐먼트 속성의 이름을 변경할 때
- $inc : 필드의 값을 증가
- $mul : 필드의 값에 곱하기를 할 때 사용
- $min : 지정한 값과 현재값 중 작은값을 선택
- $max : 지정한 값과 현잿값 중 큰값을 선택
- $currentDate : 현재 나짜와 시간을 필드에 업데이트
- $addToSet : 배열 필드가 아직 없는 경우 해당 필드에 값을 추가
- $pop : 배열 필드에서 첫번째혹은 마지막 값을 삭제
- $pull : 배열 필드에서 모든 값을 삭제합니다
- $push : 배열 필드의 끝에 값을 추가
- $each : 여러 개의 값을 추가해 배열 필드를 수정
Mongoose Schema 타입
- String
- Number
- Date : 속성을 날짜 타입으로 선언한다. 자바스크립트 기본 Date 메서드는 값을 변경 시에 몽구스에서 변경 사항을 추적하지 않으므로 몽구스에 변경 사항을 명시적으로 알려주어야 합니다.
- Buffer : 속성을 버퍼로 선언한다
const binData = new Schema({binData:Buffer})
- Boolean
- Mixed : 무엇이든 가능함
- ObjectId : 고유한 식별자
- Array : [] 기호를 사용해 선언한다.
const address = new Schema ({addr:[String]})
const newAdd = new Schema({addrs:[address]})
- Decimal128 : 128비트 10진수 부동소수점을 사용 시에 선언
- Map : 자바스크립트의 Map의 하위 클래스인 MongooseMap 타입으로 선언
- Schema : 특정 스키마 타입으로 선언 가능
const subSchema = new Schema({});
const schema = new Schema({
data : {
type : subSchema
default : {}
}
});