我想刪除表中的特定字符串匹配項。例如,Table1
在name
列中具有Foo123Bar
和Foo345Bar
。如何刪除DynamoDB表中包含特定字符串匹配的項目?
我想刪除name
列中的兩個recs。
我想刪除表中的特定字符串匹配項。例如,Table1
在name
列中具有Foo123Bar
和Foo345Bar
。如何刪除DynamoDB表中包含特定字符串匹配的項目?
我想刪除name
列中的兩個recs。
這是我如何解決這個問題,
您需要掃描表的條件,並用批量刪除或刪除項刪除它們。
掃描和查詢示例:
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
基於該名稱列是否是主鍵,分類鍵或一個屬性,你可以對d使用不同的方法選擇該項目。
如果名稱爲列是主鍵,則可以使用BatchWriteItem直接刪除多個項目。如果使用DynamoDB Document Client,則可以使用batchWrite
method刪除表中的多個項目,如下所示。
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);
});
如果名列不是私有密鑰,但在索引中的排序關鍵字或可查詢鍵,你需要查詢和由一個尋找自己的主鍵和排序鍵一個刪除項目使用deleteItem
method。
如果名稱列是正常屬性,則需要掃描和刪除而不是查詢。
使用DynamoDB Document Client您可以輕鬆地調用scan或query,並帶有必需的參數。
你能提供什麼是你的表中的主鍵和排序鍵嗎? – Ashan