使用3种不同的组合查询Appsync graphql
我正在将appsync与amplify一起使用,并试图找出如何基于两个不同的选择器进行查询。基本上,如果未提供使用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架构如下所示
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
}
}
}
}
}
我添加了@键
,以查看是否可以创建索引,但它不喜欢这样,我不知道如何获取数据。如何构建这个模式和查询以获取数据