是否可以基于属性值模拟具有前置条件的更新- upsert或merge



Realm是一个非常酷的不断发展的数据库,对于它的用例,我非常喜欢它,问题是有时更新过程可能需要大量的处理和不必要的更新在手机上。我的意思是,在数据库上,你可以用一个前提条件来做upsert,基于这个前提条件,你可以更新行。在realm中有

realm.createOrUpdate(Object)
realm.createOrUpdateFromJson()

如果你有@PrimaryKey设置它将更新——问题是,它将使更新的地方我已经有更新的数据,现在主要是你将时间戳或散列键比较如果需要更新,但比你必须遍历数据和更新一个接一个,当得到JSONArray将是一个巨大的浪费领带和维护。

那么是否有可能模拟带有前置条件的更新—upsert或merge ?

upsert语义将适用于我们所有的JSON方法,如createOrUpdateFromJson()。它不能在正常对象上工作的原因是它不可能告诉intentionaldefault之间的区别,例如,null对于一个字符串是真正的更新还是只是未初始化。

使用JSON,我们可以检测字段是否完全缺失,这意味着我们可以分辨出差异。

最新更新