Обновление dynogels уничтожает другие пары ключей

Любой, кто имеет опыт работы с диногелями, может помочь мне в этом.

Упрощенный пример моей таблицы DynamodB с вложенной структурой

{
  key: xxxxx,
  maintenance: {
    date1: xxxxxxxx,
    date2: xxxxxxxx
  }
}

Если я обновлю таблицу и отправлю ниже в качестве параметров обновления

key: 1,
maintenance: {
  date2: 1970-01-18T09:45:55.452Z
}

тогда date1: получает мусор из моего предмета в таблице

Есть ли какая-либо опция конфигурации в вызове обновления, который я делаю, что мне чего-то не хватает, чтобы НЕ удалять значения, которые я не хочу касаться / обновлять?

Спасибо

1 ответ

Решение

Вы можете использовать точечную запись в вашем UpdateExpression для того, чтобы установить значения для вложенных свойств.

var params = {};
params.UpdateExpression = 'SET #maintenance.date2 = :date2';
params.ExpressionAttributeNames = {
  '#maintenance' : 'maintenance',
};

params.ExpressionAttributeValues = {
  ':date2' : '1970-01-18T09:45:55.452Z',
};

Model.update({key : 1}, params, function (err, model) {});
Другие вопросы по тегам