当前位置: 首页 > 知识库问答 >
问题:

DynamoDB中基于全局辅助索引删除多个项目

慕项明
2023-03-14

我有一个现有的表,它有两个字段-主键和全局辅助索引:

----------------------------
primary key | attributeA(GSI)
----------------------------
1           | id1
2           | id1
3           | id2
4           | id2
5           | id1

既然attributeA作为全局辅助索引,我可以通过为全局辅助索引指定一个值来删除所有项吗?例如,我想删除所有属性为id1的记录-这在Dynamo中是可能的吗?

Dynamo提供了关于删除索引本身的文档,但没有特别说明是否可以使用GSI删除多个项

共有1个答案

董鸣
2023-03-14

到现在为止,您不能仅仅通过传递非键属性或GSI键来删除一个项目。

最简单的方法是查询GSI并获得primaryKey(表的哈希键),并在下一个请求中删除。

如果要进行批删除,可以参考此答案。

希望有帮助

 类似资料:
  • 我有一个具有以下属性的dynamo表: ID(数字-主键) 标题(字符串) created_at(数字长) 标记(StringSet-包含一组标记,例如android、ios等,) 我想要能够通过标签查询-让我所有的项目标签Android。我怎么能在Dynamodb里做到这一点呢?似乎只能在ScalarDataTypes(即Number和String)上构建全局辅助索引,而不能在集合内的项上构建全

  • 我们可以仅用全局辅助索引更新dynamodb项吗? 在上面的代码中,我想要替换键节,并使用一个全局辅助索引更新项,即user_id。

  • 我在Dynamodb中有一个表,我试图通过命名全局二级索引来获取一个项目(使用),但我得到了错误: 我的问题是: 但后来我查看了get文档,它没有属性。所以我想也许我应该命名GSI而不是表名: 但后来我面对: 这意味着不被识别为全局表。所以我的问题是,拥有操作列表: 批量获取 批量写入 createSet 删除 得到 把 查询 扫描 更新 哪些支持GSI和LSI?此外,如果您想使用GSI检索一个特

  • 我刚刚开始使用DynamoDB并设置了一个“accounts”表。 我已经设置了一个辅助索引,以便可以查询api用户和用户键。这两个值都不是主键,因为它们都是易变的,并且可以更改。 该表是用 索引为 我现在试图通过查询索引来获取uses帐户。 我在努力 但是我得到了一个错误,这使我认为我不能对索引执行“get”?或者我没有正确地引用索引。谁能帮我澄清一下吗? 名称和API键是唯一的,所以我想尽可能

  • 我仍然对本地二级索引的使用感到困惑。当需要LSI与GSI时,请给我具体的用例。 例如,“GenreAlbumTitle”索引应该是GSI还是LSI?https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.Prim

  • 我在DynamoDB中有一个表,它有列(1.id、2.item、3.entry time),其中id是主键。我需要在过去24小时内输入到表中的一种类型(有两种类型的项目,让它是A和B,我需要A的计数)的所有项目的计数。有什么办法可以使用二级索引做到这一点吗?我找不到太多与此相关的信息。