假设我在DynamoDB中有100个数据,那么要删除我必须执行for循环的所有数据,.So有没有办法删除所有没有for循环的数据?
let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()
for var key in 0 ..<100 {
let itemToDelete: CategoriesDB = CategoriesDB()
itemToDelete._index = key
dynamoDbObjectMapper.remove(itemToDelete, completionHandler:
{(error: Error?) -> Void in
if let error = error {
print(" Amazon DynamoDB Save Error: \(error)")
return
}
print("A Category was deleted.")
})
}发布于 2018-01-13 20:28:11
如果您想删除DynamoDB表中的所有数据,最好只删除该表,然后重新创建它,因为这不会占用写容量单位。
发布于 2018-01-13 19:49:40
暂时忽略swift SDK,DynamoDB有从表中删除单个项的DeleteItem方法,但它也有一个批处理方法。
除了DeleteItem之外,亚马逊DynamoDB还支持同时删除多个项目的BatchWriteItem操作。
问题是,我看不到通过swift SDK访问BatchWriteItem的方法。即使你可以使用BatchWriteItem,它一次也只能处理25个项目,所以你最终还是要写一个循环。
对不起,这不是一个更完整的答案,但我认为这可能是有用的。据我所知,没有一种简单的(单一的)方法可以做到这一点。
https://stackoverflow.com/questions/48237747
复制相似问题