1

任何有 dynogels 经验的人都可以帮助我解决这个问题。

具有嵌套结构的 dynamodb 表的简化示例

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

如果我更新表格并将以下内容作为更新参数发送

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

然后 date1: 从我表中的项目中删除

更新调用中是否有一些配置选项让我错过了某个地方不删除我不想触摸/更新的值?

谢谢

4

1 回答 1

0

您可以在您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) {});
于 2017-11-09T16:28:28.687 回答