首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DynamoDB应用程序中修改iOS对象模型

在DynamoDB应用程序中修改iOS对象模型
EN

Stack Overflow用户
提问于 2017-02-13 12:59:43
回答 1查看 79关注 0票数 0

我有一个使用AWS SDK的移动应用程序,它已经在生产中了。该应用程序使用DynamoDB直接存储和检索用户数据(中间没有任何API层)。现在,我想通过添加一个新的字段来修改应用程序中现有的DynamoDB对象模型。新的应用程序版本将非常好地根据这个新的DynamoDB模型存储和检索数据。我的问题是,新字段的添加是否会影响使用旧的DynamoDB对象模型的当前应用程序版本?它会因为旧的DynamoDB对象模型中缺少字段而导致当前的应用程序版本崩溃吗?

示例:

假设我有一个名为MyUserObject驱动器的AWSDynamoDBObjectModel类,其中包含字段“name”和“email”。

代码语言:javascript
复制
@interface MyUserObject : AWSDynamoDBObjectModel <AWSDynamoDBModeling>

@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *email;

@end

现在,我想在MyUserObject类中添加另一个字段“country”:

代码语言:javascript
复制
@interface MyUserObject : AWSDynamoDBObjectModel <AWSDynamoDBModeling>

@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *email;
@property (nonatomic, strong) NSString *country;

@end

那么,这个添加会影响使用旧的DynamoDB对象模型的当前应用版本吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-13 17:58:39

简单的回答是,不。

DynamoDB是一个无模式存储。

  • 在读取过程中:如果客户端的AWSDynamoDBObjectModel比DynamoDB中的属性多,反之亦然,则忽略额外的属性。
  • 在编写过程中:有4种不同的保存行为选项,如文档化的这里。默认的AWSDynamoDBObjectMapperSaveBehaviorUpdate将未建模的属性保留在不受影响的情况下,对于您的用例来说应该很好。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42204663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档