问题描述
我正在将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 (将#修改为@)