2017-02-09 5 views

답변

7

할 수 있습니다 별칭 GraphQL를 사용하여 GraphQL 서버에 동일한 요청에 배치 여러 돌연변이. 그런 다음이 당신이 하나 개의 요청에서 여러 항목을 삭제할 수있는 방법입니다

mutation deleteOne { 
    deleteItem(id: "id1") { 
    id 
    } 
} 

:

의이 당신이 하나 개의 항목을 삭제하는 방법입니다 가정 해 봅시다

mutation deleteMultiple { 
    id1: deleteItem(id: "id1") { 
    id 
    } 
    id2: deleteItem(id: "id2") { 
    id 
    } 
    # ... and so on 
    id100: deleteItem(id: "id100") { 
    id 
    } 
} 

그것은에서 그 여러 돌연변이를 알고 도움 하나의 요청은 위에서 아래로 순서대로 순차적으로 실행됩니다. 하나의 요청으로 여러 쿼리를 동일한 방식으로 실행할 수 있으며 개의 요청을 하나의 요청으로 여러 개 실행할 수 있습니다 ().

실행할 경우

은 100

더 많은 정보 10 개 그룹에 배치 그들에게 더 좋을 수도와 또 다른 예는이 FAQ article뿐만 아니라 공식 GraphQL docs에서 찾을 수 있습니다, 1,000 변이를 말한다.

0

나는 좋은 해결책이 예를 들어 배열을 받아들이는 방법 (돌연변이)을 만드는 것이라고 생각한다. ID는 데이터베이스에서 여러 레코드를 일괄 삭제하는 데 사용됩니다.

mutation deleteUsers($userIds: [Int!]!) { 
    deleteUsers(userIds: $userIds) { 
    ... 
    } 
} 

그런 다음, 리졸버에 당신은 당신이 데이터베이스와 상호 작용하는 방법에 따라, (탈출) 물론 userIds가 제대로 교체해야 DELETE FROM users WHERE id IN userIds, 같은 SQL 쿼리를 수행 할 userIds 매개 변수를 사용할 수 있습니다.

관련 문제