【问题标题】:Are there conditions under which DynamoDB allows for a duplicate primary key?DynamoDB 是否存在允许重复主键的条件?
【发布时间】:2015-11-30 22:23:03
【问题描述】:

在使用 AWS Javascript SDK 对 dynamo 表执行 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);
  }
});

【问题讨论】:

  • 能否附上bug截图?

标签: amazon-dynamodb aws-sdk


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-03-15
    • 2013-08-22
    • 2018-08-31
    • 1970-01-01
    • 2013-12-19
    • 2019-01-27
    • 2011-08-14
    相关资源
    最近更新 更多