如何在Dynamo Db中使用二级索引更新Db项目?

时间:2019-02-18 11:53:51

标签: amazon-web-services amazon-dynamodb

我有一个表用户,其中主索引是电子邮件密钥,但还创建了辅助索引,即_id,那么如何更新以_id为条件的项目? 下面是代码。

let params = {
    TableName: process.env.TABLE_NAME,
    Key:{
        '_id' : event.id
    },
    UpdateExpression: "set phoneNumber = :phoneNumber",
    ExpressionAttributeValues:{
        ":phoneNumber": event.phoneNumber
    },
    ReturnValues:"ALL_NEW"
};

documentClient.update(params, function(err, updated) {
    if (err) {
        console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
        callback(err);
    } else {
        console.log("UpdateItem succeeded:", JSON.stringify(updated, null, 2));
        const response = {
            statusCode: 200,
            message: "Success",
            data: updated.Attributes
        };
        callback(null, response);
    }
});

1 个答案:

答案 0 :(得分:0)

所有项目更新均针对表,而非任何索引。您将通过表主键引用该项目。