728x90
반응형
Map Reduce
- aggregation framework가 처리하지 못하는 복잡한 집계 작업에 사용
- javascript function을 사용하여 복잡한 작업 처리
- shard에 대응 ! - > 분산 처리 가능
[순서]
query → map → reduce → out
- map : data mapping (grouping)
- reduce : 집계 연산 실행
- query : 입력될 document
- out : collection or document 출력
db.score.mapReduce(
myMap,
myReduce,
{out:{replace:"myRes"}}
);
# pretty(): 예쁘게 정렬해서 보여주는 기능
db.myRes.find().pretty()
# 기능확인을 위해 우선 데이터 삽입
db.myfriend.insert({name:"아이언맨", buddy:["토르", "헐크","캡틴"]})
db.myfriend.insert({name:"슈퍼맨", buddy:["배트맨","원더우먼","캣우먼","조커"]})
# 연습문제>> 아이언맨 친구로 워머신, 호크아이, 블랙위도우
db.myfriend.update({name:'아이언맨'},{$push:{buddy:{$each:['워머신','호크아이','블랙위도우']}}})
>> 결과 : 기존 내용의 뒤로 들어간다
# 연습문제>> 슈퍼맨의 친구로 잘못 들어온 조커 빼자
db.myfriend.update({name:'슈퍼맨'},{$pop:{buddy:1}})
>> 결과: 기존 내용의 가장 뒤의 정보가 빠진다.
여기서 push와 pop을 통해 스택(LIFO:Last In First Out)처럼 작용하는 것을 알 수 있다.
728x90
반응형
'Web > MongoDB' 카테고리의 다른 글
[MongoDB]aggregation (0) | 2020.10.15 |
---|---|
[MongoDB]CRUD_연습문제 (0) | 2020.10.15 |
[MongoDB]CRUD ★ (0) | 2020.10.15 |
[MongoDB]Data Structure (0) | 2020.10.15 |
[mongoDB]NoSQL (0) | 2020.10.15 |