0

我有一个 Amplify 应用程序,它使用包含约 50 个项目的 DynamoDB 表并通过 React 应用程序访问它。

初始(简化)模型:

type Video @model
@key(name: "ByOrganization", fields: ["videoOrganizationId", "id"], queryField: "videosByOrganization")
{
  id: ID!
  createdAt: AWSDateTime
  title: String!
  season: Int
  episode: Int
  owner: String
  editor: String
  organization: Organization @connection
  videoOrganizationId: ID
}

在代码上,我在 Apollo React 组件上调用此查询:

  <Query
    query={query}
    variables={{
      {
         limit: 100,
      },
    }}
    pollInterval={5000}
  >
      {children}
  </Query>);

100 个项目的限制应该足以从数据库中获取所有项目,但是,事实并非如此,它将它限制为多个项目(~20-30 个项目)

我尝试向表中添加不同的索引:

@key(name: "ByOrganizationSortedByCreated", fields: ["videoOrganizationId", "createdAt"], queryField: "videosByOrganizationSortedByCreated")
@key(name: "ByOrganizationSortedByTitle", fields: ["videoOrganizationId", "title"], queryField: "videosByOrganizationSortedByTitle")
@key(name: "ByOrganizationSortedByTitleSeasonEpisode", fields: ["videoOrganizationId", "title", "season", "episode"], queryField: "videosByOrganizationSortedByTitleSeasonEpisode")

他们都没有工作一些显然应该在我的查询中返回的项目被留下了

我还试图找到有关 DynamoDb 退回项目数量限制的任何参考,或者一些我不知道的奇怪行为......没有成功

还有一些超级奇怪的行为,即:如果我只添加 a sortDirection: 'DESC',它会返回更少的结果!

有谁知道为什么会这样?

4

0 回答 0