Nosql 数据库结构与 Realm

Nosql database structure with Realm

我有一个要迁移到 Realm 数据库的 SQLite 数据库。

除其他外,它有一个 assoc table、一个 plant table 和一个 definition table :

assoc table 关联两个工厂。定义table包含不同语言的植物名称。

因为我使用映射到我的 POJO 对象的 Realm 数据库,所以我有一个 class 映射到我的 assoc table(等效的 Realm)。此关联 class 包含 plant_id1 和 plant_id2 的两个列表。问题是我必须能够检索所有植物的所有关联,但我必须能够 也可以在不需要关联的情况下找到所有不同的植物……我想我对使用 nosql 的数据建模有些不理解……但是我该怎么做呢?我是否必须在 assoc 和 assoc 之外的植物列表中复制我的植物数据?我不确定这里是否完全清楚...

I guess there is something i didn't understand with data modeling using nosql... but how can I do this ?

public class Plant extends RealmObject {
    // PK
    RealmList<Plant> associatedPlants;

    @LinkingObjects("plant1")
    private final RealmResults<Assoc> assoc1 = null;

    @LinkingObjects("plant2")
    private final RealmResults<Assoc> assoc2 = null;

    @LinkingObjects("associatedPlants")
    private final RealmResults<Plant> associatedByPlants = null;
}

public class Assoc extends RealmObject {
    // PK
    Plant plant1;
    Plant plant2;
}

你的定义好像是错误的,如果你要多个定义都属于植物,那么植物中就不能有definitionId。无论如何,我很可能只为每种语言名称设置一个字段。