@connection 上的 Appsync 过滤列表
Appsync Filtering list on @connection
我有这样的模式
type District @model {
id: ID!
name: String!
workers: [Worker] @connection(name: "DistrictWorker")
}
type Service @model{
id: ID!
name: String!
workers: [Worker] @connection(name: "ServiceWorker")
}
type Worker @model {
id: ID!
name: String!
service: Service @connection(name: "ServiceWorker")
district: District @connection(name: "DistrictWorker")
}
我想查询 Worker 应用 Service and/or District 过滤连接。
我想我必须编写一些自定义解析器,也许是流水线解析器,我需要一些关于如何实现它的指导。
是否有任何不同的方法来实现相同的目标。
可以通过将所需的过滤字段添加到各自的 ModelFilterInput
来过滤连接上的查询。 Amplify with Appsync 通过生成解析器并将它们连接到我们定义的架构中的特定表,做得很好。我想知道为什么为表生成的 ModelFilterInput
不包含连接字段。
对于上面定义的模式,我修改了生成的代码如下:
input ModelWorkerFilterInput {
id: ModelIDFilterInput
name: ModelStringFilterInput
source: ModelStringFilterInput
phone: ModelStringFilterInput
workerServiceId: ModelStringFilterInput # added For @connection(name: "ServiceWorker")
workerDistrictId: ModelStringFilterInput # added For @connection(name: "DistrictWorker")
and: [ModelWorkerFilterInput]
or: [ModelWorkerFilterInput]
not: ModelWorkerFilterInput
}
我有这样的模式
type District @model {
id: ID!
name: String!
workers: [Worker] @connection(name: "DistrictWorker")
}
type Service @model{
id: ID!
name: String!
workers: [Worker] @connection(name: "ServiceWorker")
}
type Worker @model {
id: ID!
name: String!
service: Service @connection(name: "ServiceWorker")
district: District @connection(name: "DistrictWorker")
}
我想查询 Worker 应用 Service and/or District 过滤连接。 我想我必须编写一些自定义解析器,也许是流水线解析器,我需要一些关于如何实现它的指导。
是否有任何不同的方法来实现相同的目标。
可以通过将所需的过滤字段添加到各自的 ModelFilterInput
来过滤连接上的查询。 Amplify with Appsync 通过生成解析器并将它们连接到我们定义的架构中的特定表,做得很好。我想知道为什么为表生成的 ModelFilterInput
不包含连接字段。
对于上面定义的模式,我修改了生成的代码如下:
input ModelWorkerFilterInput {
id: ModelIDFilterInput
name: ModelStringFilterInput
source: ModelStringFilterInput
phone: ModelStringFilterInput
workerServiceId: ModelStringFilterInput # added For @connection(name: "ServiceWorker")
workerDistrictId: ModelStringFilterInput # added For @connection(name: "DistrictWorker")
and: [ModelWorkerFilterInput]
or: [ModelWorkerFilterInput]
not: ModelWorkerFilterInput
}