Как обновить в Dynamodb несколько раз в одной функции - PullRequest
0 голосов
/ 10 января 2019

У меня возникли некоторые проблемы с функцией Update Dynamodb. Я хочу обновить один или несколько раз в одном запросе, а не все сразу.

В теле запроса я не знаю точно, что будет установлено, поэтому я сделал переключение для параметра for для обновления по одному.

for (var key in request.body) {
    switch (key) {
    case "birthdate":
        addToDynamo(request.body.uid, request.body.birthdate, "birthdate");
    case "name":
        addToDynamo(request.body.uid, request.body.name, "name");
    case "gender":
        addToDynamo(request.body.uid, request.body.gender, "gender");
    case "location":
        addToDynamo(request.body.uid, request.body.location, "location");
    }
}

function addToDynamo(uid, value, name) {
    var dynamoDb = new AWS.DynamoDB.DocumentClient();
    var params = {
        TableName:"Tood",
        Key: {uid : uid},
        UpdateExpression: "set #name = :value",
        ExpressionAttributeNames: {
            "#name": name
        },
        ExpressionAttributeValues:{
            ":value": value
        },
        ReturnValues:"UPDATED_NEW"
    };
    return dynamoDb.update(params).promise();
} 

при тестировании ничего не было обновлено в таблице динамо. Но для примера, если я вернусь в случае с "датой рождения", вот так:

case "birthdate":
    return addToDynamo(request.boby.uidm request.body.birthdate, "birthdate");

Это работает, но, очевидно, в другом случае нет. Поэтому я не знаю, как поступить, не сделав один запрос на один элемент. У кого-то есть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...