Два возможных способа, которыми я могу придумать.
Первый может не помочь вам в это время, но возможно в будущем.Добавляя свойство LinkingObjects в класс Direction
, вы можете позволить модели определять, какие Direction
объекты не имеют связанных Route
объектов.LinkingObjects описывается здесь (https://realm.io/docs/java/5.8.0/api/io/realm/annotations/LinkingObjects.html). со свойством Direction
: например:
\@LinkingObjects("direction")
final RealmResults<Route> routes = null;
Затем вы можете удалить любые объекты, где:
RealmResults<Direction> unusedDirections = realm.where(Direction.class).isEmpty("routes").findAll();
Возможно, вам понадобитсячтобы сделать это для вашего следующего релиза.
Второй способ более сложен, но по существу:
- Найти все
Direction
объектов: RealmResults<Direction> redundantDirections = realm.where(Direction.class).findAll();
- Найти все
Route
объекты (аналогично приведенным выше). - Выполнить итерацию по всем
Route
объектам. - Отфильтровать запрос
redundantDirections
, чтобы исключить любые Direction
объекты, на которые ссылается каждый Route
объект. - Удалить окончательный
redundantDirections
.
Я надеюсь, что есть третий способ, о котором я не знаю .....