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

How to create an array of arrays as input in ApolloGraphQL

如何创建数组数组作为 ApolloGraphQL 中的输入?

例如,像这样的查询的架构应该如何:

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

我尝试了以下模式,但没有成功:

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

我在这里想要实现的是一个输入类型,它是一个 列表列表,每个子列表都恰好包含 3 个字符串。所以在函数内可以这样调用:Filters:[["Id",">", "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
    }
}

似乎比我想象的要容易,使用 [[String]]:

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