如何使用单个AppSync列表查询来返回所有记录?

0

【以下的问题经过翻译处理】 我的AppSync列表查询在应用过滤器后未返回DynamoDB表中的全部记录。

背景是这样的,我有一个包含大约250,000条数据的主要城市表格。当筛选该表格仅显示例如英国的城市时,查询并未返回所有记录,因为AppSync会将扫描操作限制为10个项目。如果我将查询限制变量添加到1,000,那么我在英国只会得到少于1,000个城市。似乎查询首先应用限制而不是过滤器,而不是出于某种原因的另一种方式…

我知道我可以像亚马逊云科技博客中概述的那样使用“next token”AppSync查询返回错误的项目数量。然而,这意味着我将需要执行多个调用。**有没有一种方法可以使用单个AppSync查询返回所有经过筛选的城市?**提前感谢!

1개 답변
0

【以下的回答经过翻译处理】 我想分享一个方法,我在CITY表中使用了全局二级索引(GSI),这样我就可以按国家代码(见下文)查询城市。然后,使用分页来收集其余的城市,因为API不返回超过1MB的数据。对于那些刚开始入门的人,我真的很喜欢这个YouTube视频,它解释了Scan和Query之间的区别。

type CITY @model {
id: ID!
country_code: String! @index(name: "byCountry", queryField: "listCitiesbyCountry")
name: String!
code: String!
state: String
...
}
profile picture
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠