0

我想删除表中特定的字符串匹配项。例如,Table1是具有Foo123BarFoo345Barname列。

我想删除name列中的两个记录。

4

2 回答 2

0

这是我解决它的方法,

您需要使用条件扫描表并使用批量删除或删除项将其删除。

扫描查询示例:

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

于 2017-09-21T14:48:21.353 回答
0

根据名称列是主键、排序键还是属性,您可以使用不同的方法来删除该项目。

如果name列是主键,您可以使用BatchWriteItem直接删除多个项目。如果您使用DynamoDB Document Client,您可以使用该batchWrite 方法删除表中的多个项目,如下所示。

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

如果name列是普通属性,需要扫描删除而不是查询。

使用DynamoDB 文档客户端,您可以使用所需参数轻松调用扫描查询。

于 2017-09-21T17:35:19.963 回答