我在Rust中使用AWS SDK。我想根据不是分区键或排序键的值删除多行。我有一个包含3列的表:id(编号分区键),namespace(字符串排序键),age(编号)我想删除表中年龄值为10的所有项。我听说过BatchWriteItem,但还没有找到一个不使用分区或排序键的删除解决方案。
vngu2lb81#
要删除项,您必须始终在DynamoDB上提供主键,没有其他选择。你只有两个选择,1.在age上创建一个GSI,并高效地查询年龄为10的所有项目的索引。使用传递到BatchWriteItem的结果删除项目。1.如果是相对少量的数据或不常见的访问模式,则可以Scan表并使用FilterExpression返回age=10的项......再次将结果传递到BatchWriteItem以删除它们。
age
Scan
1条答案
按热度按时间vngu2lb81#
要删除项,您必须始终在DynamoDB上提供主键,没有其他选择。你只有两个选择,
1.在
age
上创建一个GSI,并高效地查询年龄为10的所有项目的索引。使用传递到BatchWriteItem的结果删除项目。1.如果是相对少量的数据或不常见的访问模式,则可以
Scan
表并使用FilterExpression返回age=10的项......再次将结果传递到BatchWriteItem以删除它们。