如何删除 DynamoDB table 中包含特定字符串匹配项的项目?
How to delete items containing specific string matching in DynamoDB table?
我想删除 table 中的特定字符串匹配项。例如,Table1
在 name
列中有 Foo123Bar
和 Foo345Bar
。
我想删除 name
列中的两个记录。
我是这样解决的,
您需要用条件扫描table,并用批量删除或删除项删除。
扫码查询示例:
http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/dynamodb-example-query-scan.html
批量删除示例:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#batchWriteItem-property
根据名称列是主键、排序键还是属性,您可以使用不同的方法来删除项目。
如果name列是主键,可以直接删除多个项使用BatchWriteItem. If you use DynamoDB Document Client, you can use the batchWrite
method删除table中的多个项如下图.
var params = {
RequestItems: {
'Table1': [
{
DeleteRequest: {
Key: { name: 'Foo123Bar' }
}
},
{
DeleteRequest: {
Key: { name: 'Foo345Bar' }
}
}
]
}
};
var documentClient = new AWS.DynamoDB.DocumentClient();
documentClient.batchWrite(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});
如果name列不是私钥而是索引中的排序键或可查询键,则需要查询并删除 通过使用 deleteItem
method.
逐一找到它们的主键和排序键
如果name列是普通属性,需要扫描和删除而不是查询。
使用带有所需参数的 DynamoDB Document Client you can call the scan or query 很容易。
我想删除 table 中的特定字符串匹配项。例如,Table1
在 name
列中有 Foo123Bar
和 Foo345Bar
。
我想删除 name
列中的两个记录。
我是这样解决的,
您需要用条件扫描table,并用批量删除或删除项删除。
扫码查询示例:
http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/dynamodb-example-query-scan.html
批量删除示例:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#batchWriteItem-property
根据名称列是主键、排序键还是属性,您可以使用不同的方法来删除项目。
如果name列是主键,可以直接删除多个项使用BatchWriteItem. If you use DynamoDB Document Client, you can use the batchWrite
method删除table中的多个项如下图.
var params = {
RequestItems: {
'Table1': [
{
DeleteRequest: {
Key: { name: 'Foo123Bar' }
}
},
{
DeleteRequest: {
Key: { name: 'Foo345Bar' }
}
}
]
}
};
var documentClient = new AWS.DynamoDB.DocumentClient();
documentClient.batchWrite(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});
如果name列不是私钥而是索引中的排序键或可查询键,则需要查询并删除 通过使用 deleteItem
method.
如果name列是普通属性,需要扫描和删除而不是查询。
使用带有所需参数的 DynamoDB Document Client you can call the scan or query 很容易。