清理旧的Realm对象?

Bra*_*dio 18 java android realm

有没有一种从Realm数据库中删除旧数据的简单方法?如果某个对象有一天存储自动删除它?

替代方法可以是添加带有日期的字段并提取并比较它以确定是否删除,但问题是Realm是否有自己的方法来实现此目的.

我已经看到了一些类似的问题(比如这个),但是对于Android (或Java)没有,在Realm docs中我发现的唯一类似的方法是关于迁移.

问题是是否有任何其他方法可以自动从Realm中删除旧对象,例如我们存储数据,参数,配置或Realm方法时的条件,而不仅仅是每次比较.很明显,通过查询,我们可以消除任何我们想要的对象.

链接问题(不是答案)的说明只是为了澄清这不是基于Swift的问题,并且乍一看并没有将其标记为重复.

Epi*_*rce 9

添加包含日期的字段,并根据该字段查询要删除的字段

那你可以做

 realm.where(MyClass.class)
    .lowerThan("date", someDate)
    .findAll()
    .deleteAllFromRealm()
Run Code Online (Sandbox Code Playgroud)

编辑:

问题是是否有任何其他方法可以自动从Realm中删除旧对象,例如我们存储数据,参数,配置或Realm方法时的条件,而不仅仅是每次比较.

没有

很明显,通过查询,我们可以消除任何我们想要的对象.

链接的基于Swift的答案完全相同.


小智 5

不,Realm本身没有这样的功能.

您的替代方案很好,但我不建议使用后台服务来删除数据,因此在查询时检查/删除数据.