使用3种不同的组合查询Appsync graphql

使用3种不同的组合查询Appsync graphql,graphql,aws-amplify,aws-appsync,Graphql,Aws Amplify,Aws Appsync,我正在将appsync与amplify一起使用,并试图找出如何基于两个不同的选择器进行查询。基本上,如果未提供县或设施,我需要查询所有,当县设施为空时使用县进行查询,或者当县为空时使用设施进行查询。我以为我可以把这个问题归结为一个问题,但似乎我做不到。我的appsync架构如下所示 type Client @model @key(name: "clientByCountyOrFacility", fields: ["county", "

我正在将appsync与amplify一起使用,并试图找出如何基于两个不同的选择器进行查询。基本上,如果未提供
县或设施
,我需要查询所有,当
设施为空时使用
进行查询,或者当
为空时使用
设施
进行查询。我以为我可以把这个问题归结为一个问题,但似乎我做不到。我的appsync架构如下所示

type Client 
  @model
  @key(name: "clientByCountyOrFacility", fields: ["county", "facility"], queryField: "getClientsByCountyOrFacility") 
  @searchable {
  id: ID!
  facility: String!
  county: String!
  products: [Product] @connection(name: "ClientProducts")
}

type Product 
  @model 
  @searchable {
  id: ID!
  client: Client @connection(name: "ClientProducts")
}
我可以通过使用(下面的查询)来实现这一点,但我担心这会达到100扫描限制,因为它使用下面的
listClients
查询。如果有一个简单的方法可以改变,这可能是一个解决方案,但似乎在放大文件是自动生成的

query getClientsByCountyOrFacility($county: String = "", $facility: String = "") {
    listClients(filter: {
    county: {
      contains: $county
    }
    facility: {
      contains: $facility
    }
  }) {
    items {
      id
      products {
        items {
          id
        }
      }
    }
  }
}
我添加了
@键
,以查看是否可以创建索引,但它不喜欢这样,我不知道如何获取数据。如何构建这个模式和查询以获取数据