Как сгруппировать по результату запроса Graphql - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть следующий запрос GraphQL

query {
  Result: querydata {
    name
    code
    description
  }
}

, который возвращает мне следующие данные

{
  "data": {
    "Result": [
      {
        "name": "Class1",
        "code": "ST1",
        "description": "Value"
      },
      {
        "name": "Class1",
        "code": "ST2",
        "description": "Value"
      },
      {
        "name": "Class2",
        "code": "FS1",
        "description": "Value"
      },
      {
        "name": "Class2",
        "code": "FS2",
        "description": "Value"
      }
    ]
  }
}

В этих данных у меня есть поле имени, которое может быть "Class1" или "Class2" .Я не хочу группировать эти данные так, чтобы я мог разделить данные Class1 и Class2.Есть ли способ сделать это.Я мог бы добиться этого, выполнив 2 отдельных запроса, предоставив фильтр имен, но допустим, что у меня нет этой опции.

Я хочу преобразовать результат следующим образом

{
  "data": {
    "Result": [
      "Class1": [
          {
            "code": "ST1",
            "description": "Value"
          },
          {
            "code": "ST2",
            "description": "Value"
          }
      ]

      "Class2": [
          {
            "code": "FS1",
            "description": "Value"
          },
          {
            "code": "FS2",
            "description": "Value"
          }
      ]
    ]
  }
}

1 Ответ

0 голосов
/ 18 сентября 2018

То, что вы описываете, должно происходить на стороне клиента или позволять вашему типу запроса получать опцию имени, которую вы используете для возврата класса propper, тогда приведенный ниже запрос будет работать для того, что вам нужно, предполагая, что это быловозможность поиска по имени кериданных

query {
  Class1: querydata(name: "Class1") {
    code
    description
  }
  Class2: querydata(name: "Class2") {
    code
    description
  }
}
...