AWS Amplify Graphql 查询二级索引值,然后按 UpdatedAt 排序

AWS Amplify Graphql Query Secondary Index Value And Then Sort By UpdatedAt

提问人:Luke 提问时间:2/28/2023 更新时间:2/28/2023 访问量:294

问:

用例:

我正在尝试创建一个 graphql 二级索引,我可以在其中对项目的方向进行排序,但也可以查询一个。例如,“获取所有候选人的应用程序,其中 candidateStatus === ”Applied“,并按 updatedAt 排序”。updatedAtstatus

Graphql 代码:

type Application
  @model
  @auth(...) {
  id: ID!
  updatedAt: AWSDateTime
  candidateStatus: String
  candidateID: ID
    @index(
      name: "byCandidateApplications"
      queryField: "byCandidateApplications"
      sortKeyFields: ["updatedAt", "candidateStatus"]
    )
}

局限性:

使用 AppSync 进行测试时,需要 才能使其正常工作。updatedAteq

query MyQuery {
  byCandidateApplications(
  candidateID: "xxxxxxxxxxx",
  updatedAtCandidateStatus: { eq: {candidateStatus: "Applied" } }, sortDirection: ASC) {
    nextToken
    items {
      updatedAt
    }
  }
}

错误信息:

"message": "When providing argument 'updatedAtCandidateStatus.$operation.candidateStatus' you must also provide 'updatedAtCandidateStatus.$operation.updatedAt'."

对过滤器说不:

在此示例中,我不能使用过滤器,因为我必须将搜索限制设置为 15。过滤器仅在返回 15 个项目后才起作用,因此不提供将返回所有应用程序的解决方案。(一个申请可能是第 16 个,因此错过了)。AppliedApplied

javascript graphql aws-amplify

评论


答: 暂无答案