У меня был следующий код, который изначально работал для создания пользователя.
var params = {
TableName: 'myproject-user',
Item: {
id: req.body.userName,
email: req.body.email
}
};
if(req.body.currency) {
params.Item.currency = {
type: req.body.currency.type,
bank: req.body.currency.bank,
amount: req.body.currency.amount,
}
}
docClient.put(params, function(err, data) {
if (err) {
res.send({
success: false,
message: 'Error: ' + err
});
} else {
const { Items } = data;
res.send({
success: true,
message: 'Added user',
email: req.body.email
});
}
});
Сейчас я перехожу на put
на update
, так как хочу иметь возможность сохранять любые существующие значенияна объекте при обновлении электронной почты или имени. Кроме того, я добавил следующую строку в объект params
, чтобы указать ключ id
.
Key: { id : req.user.sub },
Код doc.update
выполняется, и я получаю статус 200
, как будтопроблем не было, но когда я смотрю на таблицу, информация не обновлялась.
Нужно ли использовать выражение или что-то, чтобы заставить update
работать?
Код сизменения:
var params = {
TableName: 'myproject-user',
Key: {"id":req.user.sub},
Item: {
id: req.body.userName,
email: req.body.email
}
};
docClient.update(params, function(err, data) {
if (err) {
res.send({
success: false,
message: 'Error: ' + err
});
} else {
const { Items } = data;
res.send({
success: true,
message: 'Added user',
email: req.body.email
});
}
});