Today I Learned
매일 배운 것을 정리하며 기록합니다. 몽고DB를 공부하였습니다.
NoSQL
- non SQL, Not only SQL, SQL을 사용하지 않는 데이터베이스
- 고정된 테이블이 없으며 테이블에 상으하는 컬렉션이라는 개념이 존재
- SQL보다 확장성과 가용성이 뛰어남
MongoDB
데이터베이스를 만드는 명령어
데이터베이스 목록 확인
- 데이터를 한 개 이상 넣어야 목록에 표시됨
- show dbs
컬렉션 생성
- 다큐먼트를 넣는 순간 컬렉션도 자동 생성되므로 따로 만들지 않아도 됨
- db.createCollection('컬렉션 명')
CRUD
Create
- db.컬렉션명.save(다큐먼트): 다큐먼트 생성
Read
- db.컬렉션명.find({}): 컬렉션 내 모든 다큐먼트 조회
- db.컬렉션명.find({}. 조회할 필드 객체): 1또는 true로 표시한 필드만 조회
- db.컬렉션명.find(조건 객체, 조회할 필드 객체): 조건에 맞고, 1또는 true로 표시한 필드만 조회
- 자주 쓰이는 연산자: $gt(초과), $gte(이상), $lt(미만), $lte(이하), $ne(같지 않음), $or(또는), $in(배열 요소 중 하나)
- sort(): 정렬시 사용하는 메서드, -1은 내림차순, 1은 오름차순
- limit(): 조회할 다큐먼트 개수 설정
- skip(): limit()와 함께 사용하며 몇 개를 건너뛸지 설정
Update
- db.컬렉션명.update(수정할 다큐먼트 객체, 수정할 내용을 입력하는 객체)
- $set: update 메서드의 두 번째 인자에 $set을 사용하여 어떤 필드를 수정할지 정함
- $set 연산자를 사용하지 않으면 다큐먼트가 통째로 두 번째 인자로 수정됨
ex) db.users.update({ name: 'kimcoding'}, { $set: { age: 20 } });
Delete
- db.컬렉션.remove(삭제할 다큐먼트에 대한 정보가 담긴 객체)
Reference : 조현영, 『Node.js 교과서』, 길벗 (2020), p367-375.