| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- jsp
- 인생이재밌다
- sessionStorage
- 영화예매
- ajax
- post
- spread operator
- Kubernetes
- MySQL Error
- Java
- chartjs
- node.js
- html
- 예매로직
- git
- ssh
- ES6
- mongodb
- json
- AWS Route53
- topologySpreadConstraints
- spring
- javascript
- Bootstrap
- mysql
- AWS
- Get
- terminationGracePeriodSeconds
- zombie-hit apartment
- AWS RDS
- Today
- Total
jongviet
Sep 22, 2021 - mongoDB 객체로 구성된 배열 쿼리 방법 본문
*9월22일
-특정한 서비스에 대한 일일 신청수/취소수/신청금액/취소금액을 데이터화 하는 테스크를 맡았다. mongoDB noSQL구조로 작성하였고, 특정한 객체 내에 date, category, data(객체로 구성된 배열)로 하나의 document가 형성되는 구조이다. 자료 예시 및 활용법은 하기와 같다.
-데이터 저장 구조
[
{
date: ISODate("2021-09-10T12:00:00+09:00"),
Category: "usedCar",
Data: [
{
name: "bmw",
theNumberOfSold: 15
},
{
name: "Honda",
theNumberOfSold: 35
},
{
name: "Toyota",
theNumberOfSold: 100
}
]
},
{
date: ISODate("2021-09-11T12:00:00+09:00"),
Category: "newCar",
Data: [
{
name: "bmw",
theNumberOfSold: 5
},
{
name: "Honda",
theNumberOfSold: 8
},
{
name: "Toyota",
theNumberOfSold: 150
}
]
}
]
-쿼리 구조
db.collection.aggregate([
{
$unwind: "$data"
},
{
$group: {
_id: {
year: {
"$year": "$date"
},
month: {
"$month": "$date"
},
day : {
"$dayOfMonth" : "$date"
},
name: "$data.name"
},
Asia: {
$sum: "$data.theNumberOfSold"
}
}
}
])

'mongoDB' 카테고리의 다른 글
| Sep 11, 2021 - mongoDB transaction (1) | 2021.09.11 |
|---|---|
| Sep 6, 2021 - mongoDB Atlas alert 및 인덱싱 점검 관련 (1) | 2021.09.06 |
| Aug 20, 2021 - mongoose populate (2) | 2021.08.20 |
| Aug 18, 2021 - MongoDB noSQL문 (1) | 2021.08.18 |
| Aug 7, 2021 - postman 이용하여 mongoDB 데이터 넣기 (0) | 2021.08.07 |