티스토리 뷰
Mongo DB 삽입, 삭제, 수정
삽입
함수
함수명 | 설명 | 매개변수 |
insertOne | 단일 도큐먼트 삽입에 사용 | ( {도큐먼트} ) |
insertMany | 다수 도큐먼트 삽입에 사용 | ( [ 도큐먼트 배열 ], Option(선택 사항)) |
특징
- 일괄 삽입은 한 번에 특정 크기 만큼에 데이터 삽입 처리를 하여 다수의 도큐먼트 추가에 높은 성능을 보여준다.
- 도큐먼트의 삽입은 기본적으로 순서를 보장하지 않는다, 다만 옵션을 통해 {"ordered": true } 순서를 보장할 수 있다.
- '_id' 필드가 존재하지 않으면, 자동으로 추가된다.
유효성 검사
- UTF-8 문자열을 사용하는지 확인
- 인실할 수 없는 데이터형을 사용하지 않았는지 확인
- 도큐먼트 크기다 16MB보다 작은지 확인
SQL과의 비교 예시
SQL에서의 단일 레코드 삽입
insert into users (name, age) values ("hero", 26);
MongoDB에서의 단일 도큐먼트 삽입
db.users.insertOne({
"name":"hero",
"age": 26
});
SQL에서의 다수 레코드 삽입
insert into users (name, age) values("hero", 26);
insert into users (name, age) values("chad", 26);
insert into users (name, age) values("peter", 31);
MongoDB의 다수 도큐먼트 삽입
db.users.insertMany([
{"name":"hero", "age":26},
{"name":"chad", "age":26},
{"name":"peter", "age":31}
]);
삭제
함수
함수명 | 설명 | 매개변수 |
deleteOne | 단일 도큐먼트 제거 | ( {필터 도큐먼트(condition)} ) |
deleteMany | 다수 도큐먼트 제거 | ( {필터 도큐먼트(condition)} ) |
drop | 컬렉션 내 모든 도큐먼트 제거 |
SQL과 비교 예시
테이블 전체 레코드 삭제
delete from users
컬렉션 전체 도큐먼트 삭제
db.users.drop();
특정 단일 레코드 삭제
delete from users where name = "chad";
특정 단일 도큐먼트 삭제
db.users.deleteOne({
"name":"chad"
});
- {"name":"chad"} 인 조건에 부합하는 도큐먼트가 여럿 있다면, 가장 위에 있는 도큐먼트가 삭제된다.
조건에 일치하는 다수 레코드 삭제
delete from users where age = 26;
조건에 일치하는 다수 도큐먼트 삭제
db.users.deleteMany({
"age":26
});
갱신
함수
함수명 | 설명 | 매개변수 |
updateOne | 단일 도큐먼트 수정 | (필터 도큐먼트, 업데이트 연산자 구문, Options) |
updateMany | 다수 도큐먼트 수정 | (필터 도큐먼트, 업데이트 연산자 구문, Options) |
replaceOne | 단일 도큐먼트 교체 | (필터 도큐먼트, 교체할 도큐먼트, Options) |
특징
- 동시에 여러개의 수정 요청이 들어오면, 순서대로 적용하기 때문에, 최종적으로 들어온 요청이 적용된다.
- SQL에 Update와 달리 스키마 변경역할(DDL)역할도 한다.
업데이트 연산자
업데이트 연산자는 키 변경, 추가, 제거 및 배열과 내장 도큐먼트 조작 역할을한다.
상세 내용은 위 링크를 통해 확인.
SQL 비교 예시
다수 레코드 수정
update users
set age = 26
다수 도큐먼트 수정
db.users.updateMany({}, {age:26});
단일 레코드 수정
UPDATE users
set age = 27
where name = "chad"
UPDATE users
set age = 31
where name = "peter"
단일 도큐먼트 수정
db.users.updateOne({"name":"chad"}, {"age":27});
db.users.updateOne({"name":"peter"}, {"age":31});
참고
'DataBase > MongoDB' 카테고리의 다른 글
[MongoDB] 몽고 DB의 단위 (0) | 2022.08.08 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ATDD
- 메모리 단편화
- java
- SpringBoot 2.2
- 수평 분할
- pass by value
- OOP
- 클린 아키텍처
- 동적 타입 언어
- Memory Fragmentation
- multimap
- 정적 타입 언어
- 뾰족함
- 외부 단편화
- 객체 풀
- 세션 불일치
- pool
- RestAssured
- 육각형 아키텍처
- 장애 해결기
- pass by reference
- Session
- Clean Architecture
- 수직 분할
- 내부 단편화
- Sticky Session
- 메모리 파편화
- Object Pool
- 컴포짓 패턴
- 동적 디스패치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함