相关疑难解决方法(0)

DynamoDB MM邻接列表设计模式

参考https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html.我想知道是否有人可以帮助我.

第一张图片是表格,第二张图片是GSI.这是表格: 在此输入图像描述

在桌子上,我不明白如何创建排序键?这是一个存储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怎么办?我的查询的语法是什么?

请从youtube查看此处的图片: 在此输入图像描述

谢谢大家!!!:-)

many-to-many amazon-dynamodb

17
推荐指数
2
解决办法
4964
查看次数

GraphQL AWS Amplify @connection 没有引入连接的数据

正如您所看到的,我希望在联赛表中显示所有赛季和分区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

8
推荐指数
1
解决办法
669
查看次数