是否可以部分更新RealmObject

时间:2017-09-05 15:28:13

标签: android realm

我的应用从REST API获取数据 根据端点,我得到完整或部分Account的列表 当API响应时,我拨打realm.copyToRealmOrUpdate(accounts)

我的问题是,如果一个完整的account已经存储在领域中并且相同的部分accountrelation_txrelation_rxmessage_last_rx,{ {1}} message_last_tx列在null列表中,完整的accounts完全覆盖。

我只想让领域更新不是account的字段。 有什么建议?

我可以覆盖null方法吗?

Account.update()

1 个答案:

答案 0 :(得分:1)

我认为你必须手动比较。不要使用服务器中的内容调用realm.copyToRealmOrUpdate(accounts)

而是为服务器响应serverAccounts命名。对于其中的每个帐户:从Realm获取具有此ID的帐户(localAccount)。如果未找到(null):将serverAccount添加到DB。如果找到:在localAccount上手动更新您的四个字段,并将localAccount保存到数据库。

要优化上述内容,您可能希望使用id列表(来自serverAccounts)执行单个Realm查询,并将更改一次保存到Realm中。