Redux-ORM模型的Flatbuffer方案,定义表之间的关系

我对基于平面缓冲区方案的Redux-ORM模型中关系的正确定义有疑问。

我有以下flatbuffer方案:

    table Team{
        allMembers : [Member];
    }

所以我为Redux-ORM创建了两个模型,如下所示。

    class Team extends Model{}
    Team.modelName = 'Team'
    Team.fields = {
    }

    class Member extends Model{}
    Member.modelName = 'Member'
    Member.fields = {
        allMembersById : fk({to:'Team',as:'team',relatedName:'allMembers'}),}

当我添加以下字段时,情况变得复杂:

    table Team{
        allMembers : [Member];
        blueSquad : [Member];
        redSquad : [Member];
    }

现在的问题是,我应该仍然使用外键还是其他类型的关系?

    class Member extends Model{}
    Member.modelName = 'Member'
    Member.fields = {
        allMembersByTeamId : fk({to:'Team',as:'allMembersTeam',blueSquadByTeamId : fk({to:'Team',relatedName:'blueSquad'}),redSquadByTeamId : fk({to:'Team',relatedName:'redSquad'}),}

因为如果我根据命名约定将'as'字段添加到其他定义中...

    allMembersByTeamId : fk({to:'Team',blueSquadMembersByTeamId : fk({to:'Team',as:'blueSquadMembersTeam',relatedName:'blueSquadMembers'}),redSquadMembersByTeamId : fk({to:'Team',as:'redSquadMembersTeam',relatedName:'redSquadMembers'}),

我可以读为:

    Member.allMembersTeam        // <- is a Team where i belong
    Member.blueSquadMembersTeam // <- is a Team where i am in blueSquad
    Member.redSquadMembersTeam // <- is a Team where i am in redSquad

暗示这已经是一个“很多”的关系。

我当然可以添加“ MembersGroup”中间模型,但我想避免这种情况。

我有点困惑,我不知道我是否很好地理解了表之间的关系。请告诉我我是否正确,如果没有,那么肯定。 所以最后我有两个问题。平面缓冲区方案到Redux-ORM模型的这种映射是否有意义?但是,如果这是一个“很多”关系,我应该注意什么?

blsyf 回答:Redux-ORM模型的Flatbuffer方案,定义表之间的关系

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2663689.html

大家都在问