dynogels更新了其他密钥对

时间:2017-11-01 02:55:28

标签: amazon-dynamodb serverless-framework dynogels

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

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

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

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

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

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

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

由于

1 个答案:

答案 0 :(得分: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) {});