我有一个 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'
,它会返回更少的结果!
有谁知道为什么会这样?