1

如何在ApolloGraphQL中创建一个数组数组作为输入?

例如,这样的查询的模式应该如何:

{
    Users(Id:1, Filters:[["Id",">", "1"], ["Id","<","3"]]) {
      Id
      Name
    }
}

我尝试了以下架构,但没有运气:

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [[String, String, String]]
      )
   }
 `;

我在这里想要实现的是一个 Input 类型,它是List of Lists,每个子列表都包含 3 个字符串。所以它可以在函数中这样调用:Filters:[["Id",">", "1"], ..]

4

2 回答 2

1

嗨,安德,我也试图实现这样的目标,但也不是运气。我最终改用了对象列表:

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [Filter]
      )
  }

  input Filter{
    A: String!
    B: String!
    C: String!
  }
`;

最后看起来像这样:

{
    Users(Id:1, Filters:[{A:"Id",B:">", C:"1"}, ..]) {
      Id
      Name
    }
}
于 2020-05-28T11:40:55.833 回答
0

似乎它比我更容易,使用就足够了[[String]]

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [[String]]
      )
   }
 `;

于 2020-08-03T14:02:02.257 回答