如何解决查询具有3种不同组合的Appsync graphql
我正在将appsync与amplify一起使用,并试图弄清楚如何基于两个不同的选择器进行查询。基本上,如果没有提供county or facility
,则需要全部查询;如果county
为空时,用facility
查询,或者facility
为空时,用county
查询。我以为可以将其包装成1个查询,但似乎不行。我的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
}
}
}
}
}
我添加了@key
来查看是否可以创建索引,但是它不是那样的,我对如何获取数据一无所知。我该如何构建此架构和查询以取回数据?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。