티스토리 뷰
반응형
첫번째 예제) 하나의 도큐먼트를 sizes의 배열 요소로 분리함
{ "_id" : 1, "item" : "ABC1", sizes: [ "S", "M", "L"] }
db.inventory.aggregate( [ { $unwind : "$sizes" } ] )
{ "_id" : 1, "item" : "ABC1", "sizes" : "S" }
{ "_id" : 1, "item" : "ABC1", "sizes" : "M" }
{ "_id" : 1, "item" : "ABC1", "sizes" : "L" }
_id:1인 다큐먼트를 sizes 배열의 요소 갯수만큼 document로 분리함.
RDBMS의 데카르트곱(카데시안곱)과 같은 동작을 함.
두번째 예제) sizes 배열의 요소의 순번 표시하기
{ "_id" : 1, "item" : "ABC", "sizes": [ "S", "M", "L"] } { "_id" : 2, "item" : "EFG", "sizes" : [ ] } { "_id" : 3, "item" : "IJK", "sizes": "M" } { "_id" : 4, "item" : "LMN" } { "_id" : 5, "item" : "XYZ", "sizes" : null }
db.inventory.aggregate( [ { $unwind: { path: "$sizes", includeArrayIndex: "arrayIndex" } } ] )
{ "_id" : 1, "item" : "ABC", "sizes" : "S", "arrayIndex" : NumberLong(0) } { "_id" : 1, "item" : "ABC", "sizes" : "M", "arrayIndex" : NumberLong(1) } { "_id" : 1, "item" : "ABC", "sizes" : "L", "arrayIndex" : NumberLong(2) } { "_id" : 3, "item" : "IJK", "sizes" : "M", "arrayIndex" : null }
세번째 예제) sizes의 원소가 없거나 null이어도 출력하라
db.inventory.aggregate( [
{ $unwind: { path: "$sizes", preserveNullAndEmptyArrays: true } }
] )
{ "_id" : 1, "item" : "ABC", "sizes" : "S" }
{ "_id" : 1, "item" : "ABC", "sizes" : "M" }
{ "_id" : 1, "item" : "ABC", "sizes" : "L" }
{ "_id" : 2, "item" : "EFG" }
{ "_id" : 3, "item" : "IJK", "sizes" : "M" }
{ "_id" : 4, "item" : "LMN" }
{ "_id" : 5, "item" : "XYZ", "sizes" : null }
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 루미큐브 종류
- 별잉 빛나는 밤
- 화분벌레
- node.js
- GKRS
- 유가바이트디비
- 브리다 정수기
- 증권정보포털
- VARIDESK
- Pixel Pals
- 배당급
- Sybase IQ
- 톡토기
- 르세라핌
- yugabyteDB
- 로니카 BCS
- 솔리드 쿨론
- 카카오 에드
- 오미크론
- 남설 팔찌
- 매직 트랙패드2
- weka
- 파나소닉 비데 DL-EH10KWS
- 별이 빚나는 밤
- 홈 오피스
- 코라나 19
- 빈센트 반 고흐
- Life Chair
- JMW 헤어드라이기기
- 고체 향수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함