2017-05-08 7 views
0

나는 모든 것을 가져 오지 않고 데이터베이스와 함께 작동하는 specs에 따라 GraphQL 페이지 매김을 개발 중입니다."last"매개 변수가 설정된 경우 GraphQL 페이지 매김의 출력 순서를 변경해야합니까?

GraphQL 연결은 last 매개 변수를 받아 들일 수 있습니다. 이 매개 변수를 사용하여 데이터베이스에서 N 개의 마지막 행을 가져올 수 있습니다. docs에 언급되지 않은 것 같지만이 매개 변수가 설정된 경우 결과를 반대로해야합니까?

예. 데이터베이스에서 3 개 항목을 얻을려고 :

{ 
    articlesConnection(first:3) { 
    edges { 
     node { 
     id 
     } 
     cursor 
    } 
    pageInfo { 
     startCursor 
     endCursor 
     hasNextPage 
     hasPreviousPage 
    } 
    } 
} 

결과 : 모든 것이 여기에 좋은처럼

{ 
    "data": { 
    "articlesConnection": { 
     "edges": [ 
     { 
      "node": { 
      "id": "1" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjE=" 
     }, 
     { 
      "node": { 
      "id": "2" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjI=" 
     }, 
     { 
      "node": { 
      "id": "3" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjM=" 
     } 
     ], 
     "pageInfo": { 
     "startCursor": "YXJyYXljb25uZWN0aW9uOjE=", 
     "endCursor": "YXJyYXljb25uZWN0aW9uOjM=", 
     "hasNextPage": true, 
     "hasPreviousPage": false 
     } 
    } 
    } 
} 

이 보인다.

{ 
    articlesConnection(last:3) { 
    edges { 
     node { 
     id 
     } 
     cursor 
    } 
    pageInfo { 
     startCursor 
     endCursor 
     hasNextPage 
     hasPreviousPage 
    } 
    } 
} 

을 그리고 결과는 반전됩니다 :하지만 지금 우리는 3 개 마지막 행을 얻기 위해 노력할 것이다

{ 
    "data": { 
    "articlesConnection": { 
     "edges": [ 
     { 
      "node": { 
      "id": "20" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjIw" 
     }, 
     { 
      "node": { 
      "id": "19" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjE5" 
     }, 
     { 
      "node": { 
      "id": "18" 
      }, 
      "cursor": "YXJyYXljb25uZWN0aW9uOjE4" 
     } 
     ], 
     "pageInfo": { 
     "startCursor": "YXJyYXljb25uZWN0aW9uOjIw", 
     "endCursor": "YXJyYXljb25uZWN0aW9uOjE4", 
     "hasNextPage": false, 
     "hasPreviousPage": true 
     } 
    } 
    } 
} 

주요 질문 : 되돌릴 수 및 결과한다 아닌지?

답변

0

주문이 사양의 일부라고 생각하지 않습니다. 내 추측으로는 그것을 다루는 것이 쉽지 않으며 모든 사람들이 서로 다른 필요를 가지고 있기 때문에 그것을 감당할 이유가 없다는 것입니다. 일부는 가장자리를 오름차순으로 내림차순으로, 그래서 일부는 오름차순으로, 그래서 당신이 적합하다고 생각하는 순서를 선택하십시오.

중요한 세부 정보는 before 커서 앞에있는 가장자리를 반환하고 최대로 last 가장자리를 반환하는 것입니다. 가장자리의 순서는 당신에게 달려 있습니다.

출처 : https://facebook.github.io/relay/graphql/connections.htm#sec-Backward-pagination-arguments