是否存在DynamoDB允许重复主键的条件?

时间:2015-11-24 18:27:41

标签: amazon-dynamodb aws-sdk

在使用AWS Javascript SDK对发电机表执行updateItem操作时,我看到第二行使用相同的主键编写,这肯定与文档相反。

我使用的是哈希字符串键“user_id”。

初写:

var params = {
  Item: {
    user_id : {S: "foo"},
    is_authorized: {BOOL: false},
  },
  TableName: 'MyTable'
};
db.putItem(params, function(err, data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});

更新尝试

var updateParams = {
  Key: {
    user_id : {S: "foo"},
  },
  AttributeUpdates: {
    confirmationCode: {Action: "PUT", Value: {S: "key"}},
    phone: {Action: 'PUT', Value: {S: "1234567}},
    is_authorized: {Action: 'PUT', Value: {BOOL: false}},
    confirmAttempts: {Action: 'PUT', Value: {N: "1"}}
  },
  TableName: 'MyTable'
};

db.updateItem(params, function(err, data){
  if(err){
    response = err;
    console.log("The error was: " + err);
  }else{
    response = data;
    console.log(data);
  }
});

1 个答案:

答案 0 :(得分:1)

有关可能遇到此问题的其他人的参考:

此问题是由空格引起的,特别是某些主键字符串末尾的尾随空格。至少在控制台内查看Dynamo记录不会转换空格字符,因此这是一个不可见的问题。