Amazon dynamodb DynamoDB-建模双向多对多关系?
我很难在不满足多个请求的情况下为特定场景建模 设想一个Amazon dynamodb DynamoDB-建模双向多对多关系?,amazon-dynamodb,dynamodb-queries,Amazon Dynamodb,Dynamodb Queries,我很难在不满足多个请求的情况下为特定场景建模 设想一个人员表,每个人员可以相互关联n次,并且这种关系有一个描述 考虑以下建模: 如您所见,我有两个人,而人_0001是人_0002的孩子 现在,在这种情况下,如果我想得到person_0001拥有的所有关系,很容易,我只需查询: GET WHERE PK = "person_0001" AND SK.BEGINS_WITH("rel") 但是,由于它是双向的,我如何才能获得person_0002的关系 我
人员
表,每个人员
可以相互关联n次,并且这种关系有一个描述
考虑以下建模:
如您所见,我有两个人
,而人_0001
是人_0002
的孩子
现在,在这种情况下,如果我想得到person_0001
拥有的所有关系,很容易,我只需查询:
GET WHERE PK = "person_0001" AND SK.BEGINS_WITH("rel")
但是,由于它是双向的,我如何才能获得person_0002的关系
我可以使用一个反转键的GSI,因此只要一个请求,我就可以同时查询两个表
但真正的问题是,当我需要更新/删除时,如何删除/更新所有关系person_0002
只有一个请求?我只能从GSIs读取
一般来说,这是一个很大的困难,当我需要对GSI执行删除/更新/写入操作时,我该怎么做?我想听听您最终是如何解决设计问题的。如果你找到了一个解决方案,你能把它作为一个答案吗?