参考https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html.我想知道是否有人可以帮助我.
在桌子上,我不明白如何创建排序键?这是一个存储Bill-ID和Invoice-ID的属性吗?还是两个独立的属性?我觉得这是一个灵活的属性,如果是这样,你如何区分彼此?我们如何构建排序键的查询?
只是通过查看前缀"Bill-"或"Invoice-"?DynamoDB的实践似乎使用破折号(" - ")来分隔属性中的值.如果有人可以给我这些事情的用例,我也会感激不尽,但除非在这种情况下重要,否则我会切断正切.
现在,这是非常相关且非常有趣的https://youtu.be/xV-As-sYKyg?t=1897,其中演示者使用一个产品表来存储各种类型的项目:书籍,歌曲专辑和电影; 并且每个都有自己的属性.
我在理解那里使用的排序键时遇到了问题.我知道productID = 1是bookID,productID = 2是专辑.现在让它变得混乱的是我用红色圈出的东西.这些是专辑2的曲目.但是,排序键的结构是"albumID:trackID".现在,"trackID"在哪里?它是否意味着用实际ID替换"trackID"这个词?或者这是一个完全像"albumID:trackID"的文本?
如果我想查询特定的trackID怎么办?我的查询的语法是什么?
谢谢大家!!!:-)
正如您所看到的,我希望在联赛表中显示所有赛季和分区data > seasons。我已经设置了它,因为我相信可以使用@connection。
所以问题是,我将如何更改我的部门架构,以便将部门包含在League.
我花了很多时间阅读@connections和@key并理解在使用密钥时,会使用我提供的密钥创建散列ID。但是我对多次阅读连接文档的理解不够了解为什么这不起作用。
我很想更好地理解这一点,所以我尽我所能尝试发展一种理解!
nb 我相信还值得一提的是,每次我更改架构并amplify mock重建哈希键时,它们都会被添加。我想知道这是否有一些影响?当涉及到键时,我应该在每次模式更改时完全清理 SQLite 吗?

type League @model
{
id: ID!
name: String!
faId: ID!
logo: String
seasons: [Season] @connection(keyName: "bySeason", fields: ["id"])
division: [Division] @connection(keyName: "byDivision", fields: ["id"])
}
Run Code Online (Sandbox Code Playgroud)
type Season @model @key(name: "bySeason", fields: ["leagueID"])
{
id: ID!
name: String!
faId: ID!
yearStart: AWSDate
yearEnd: AWSDate
leagueID: ID!
league: League! @connection(fields: ["leagueID"])
division: [Division] @connection(keyName: "byDivision", fields: ["id"]) …Run Code Online (Sandbox Code Playgroud) javascript amazon-web-services amazon-dynamodb graphql aws-amplify