我有一个名为Media的表,其中的主键是mediaId。我还有一个名为Media_Comments的附加表,该表具有一个commentId作为主键,以及一个mediaId属性,该属性存储该评论链接到的mediaId。与Media_Likes一样,我有一个mediaId主键和userId排序键。我想处理用户删除媒体项目的情况,这将导致该媒体项目的所有评论和喜欢被大量删除。我目前正在使用Node.js在Lambda中编写此代码。
我尝试根据'mediaId =:mediaId'的条件使用常规删除,但是它抱怨表需要主键。不幸的是,很多时候我想删除媒体项目时,都没有可用于满足该条件的特定关键项目。我研究过尝试按某个索引删除,例如在每个表的mediaId上设置GSI并以此删除,很不幸,这似乎也不是一种选择。
基本上,我缺少什么吗?实际上有一种删除索引的方法吗?如果没有,那么这样做的最佳方法是什么?为dynamodb中与Media项目关联的每个项目设置TTL?还是有其他推荐的方法来解决此问题?
非常感谢您的帮助。