임베디드 다큐먼트(embedded document)의 타입이 배열 array일 때
기본적인 MongoDB 몽고디비 쿼리로는 구조상 쉽게하는데 한계가 있어
셀렉트에서 변환하는 방법을 안내드립니다.
<참고 이미지와 YAML 코드>
케이스
- 일반적으로 콜렉션을 조회할 때
- 각 row의 name.value를 테이블로 조회하는 방법
- 여러 name.value 들을 한 row에 표기하는 방법
- type: query
resource: mongodb
name: 1
sqlType: select
query:
collection: nested
find:
- type: query
resource: mongodb
name: 2
sqlType: select
responseRowFn: |
row.data = row.data.embed.name
query:
collection: nested
aggregate:
- $unwind: $data.embed
- $group:
_id: $_id
- type: query
resource: mongodb
name: 3
sqlType: select
responseRowFn: |
row.data = row.data.embed.map(e => e.name).join(', ')
query:
collection: nested
find:
- {}
- projection:
_id: 1
data: 1