你会如何处理关系袋中的双向关系?

时间:2016-11-18 11:43:47

标签: relational-database pouchdb

这种模式在关系袋中是否有效(尤其是obj和objList之间的关系):

let schema = [
            {
                singular: 'obj', plural: 'objs', relations: {
                'objList': { belongsTo: 'objList' },
                'attributesEditable': { belongsTo: 'attributesEditable' },
                'attributesViewable': { belongsTo: 'attributesViewable' },
            },
            },
            {
                singular: 'objList', plural: 'objLists', relations: {
                'objs': { hasMany: 'obj' },
                'obj': { belongsTo: 'obj' },
            },
            },
            {
                singular: 'attributesEditable', plural: 'attributesEditables', relations: {
                'obj': { belongsTo: 'obj' },
            },
            },
            {
                singular: 'attributesViewable', plural: 'attributesViewables', relations: {
                'obj': { belongsTo: 'obj' },
            },
            },
        ];

我想要的: image

我的应用程序以一个入口点开始,这是一个obj,它有一个带有很多obj的objList,依此类推。

1 个答案:

答案 0 :(得分:0)

objList和obj之间有一个实现,并且应该在两个部分中声明它。但是在objList中声明了两个关系。试试这段代码:

[...]
{
    singular: 'obj', plural: 'objs', relations: {
        'objList': { belongsTo: 'objList' },
        'attributesEditable': { belongsTo: 'attributesEditable' },
        'attributesViewable': { belongsTo: 'attributesViewable' },
    },
},
{
    singular: 'objList', plural: 'objLists', relations: {
        'objs': { hasMany: 'obj' }
    },
[...]