[서버]/[AWS & Firebase]
[DynamoDB] 두가지 필드 기준으로 정렬
Hevton
2022. 2. 13. 19:53
반응형
schema.graphql
type Post @model {
id: ID!
title: String!
content: String
comments: [Comment] @hasMany
}
type Comment @model {
id: ID!
content: String
postCommentsId: ID!
createdAt: String!
skA: String!
skB: String!
type: String! @index(name: "CommentsByDate", queryField: "CommentsByDate", sortKeyFields: ["skA", "skB"])
}
skA 기준으로 먼저 정렬, 그리고 skB 기준으로 정렬되게끔 구현된 상태이다.
오름차순 결과
{
"data": {
"CommentsByDate": {
"items": [
{
"content": "SIX",
"skA": "a",
"skB": "1",
"type": "type"
},
{
"content": "TWO",
"skA": "a",
"skB": "a",
"type": "type"
},
{
"content": "ONE",
"skA": "a",
"skB": "b",
"type": "type"
},
{
"content": "THREE",
"skA": "a",
"skB": "c",
"type": "type"
},
{
"content": "FOUR",
"skA": "b",
"skB": "a",
"type": "type"
},
{
"content": "FIVE",
"skA": "e",
"skB": "a",
"type": "type"
}
]
}
}
}
내림차순 결과
{
"data": {
"CommentsByDate": {
"items": [
{
"content": "FIVE",
"skA": "e",
"skB": "a",
"type": "type"
},
{
"content": "FOUR",
"skA": "b",
"skB": "a",
"type": "type"
},
{
"content": "THREE",
"skA": "a",
"skB": "c",
"type": "type"
},
{
"content": "ONE",
"skA": "a",
"skB": "b",
"type": "type"
},
{
"content": "TWO",
"skA": "a",
"skB": "a",
"type": "type"
},
{
"content": "SIX",
"skA": "a",
"skB": "1",
"type": "type"
}
]
}
}
}
각 필드의 방향이 다를 경우엔 어떻게 해야 하는진 모르겠다..
ex) skA 오름차순, skB 내림차순
반응형