在Firebase中,如果没有联接表的概念,如何存储关于多对多关系的信息?
我的Firebase应用程序包含组和用户之间的多对多关系。我想存储有关用户何时加入组的信息—如果没有联接表的概念,我该如何进行 我使用这个Firebase示例作为参考: 你建议这样做吗在Firebase中,如果没有联接表的概念,如何存储关于多对多关系的信息?,firebase,Firebase,我的Firebase应用程序包含组和用户之间的多对多关系。我想存储有关用户何时加入组的信息—如果没有联接表的概念,我该如何进行 我使用这个Firebase示例作为参考: 你建议这样做吗 app: { groups: { group1: { members: { user1: { joinDate: '2016-01-22T02:43:27.817Z', isCreator: true },
app: {
groups: {
group1: {
members: {
user1: {
joinDate: '2016-01-22T02:43:27.817Z',
isCreator: true
},
user2: {
joinDate: '2016-01-23T02:43:27.817Z',
isCreator: false
}
}
}
},
users: {
user1: {
firstName: 'Adam',
lastName: 'Soffer',
groups: {
group1: {
joinDate: '2016-01-22T02:43:27.817Z',
isCreator: true
}
}
},
user2: {
firstName: 'Joe',
lastName: 'Shmoe',
groups: {
group1: {
joinDate: '2016-01-23T02:43:27.817Z',
isCreator: false
}
}
}
}
}
官方指南是一个很好的资源,可以帮助进行这样的概念设计
一般来说,最好尽量少用嵌套数据,并尽可能将数据展平
可以用更平坦的结构表示相同的特征
membership: {
user1: {
group1: { joined: '2016-01-23T02:43:27.817Z' },
group2: { joined: '2016-01-23T02:43:27.817Z' }
}
},
groups: {
group1: {
creator: user1
},
group2: {
creator: user1
}
},
users: {
user1: {
firstName: 'Adam',
lastName: 'Soffer'
}
}
我们使用了一个成员对象来管理用户和组的多对多关系,允许我们删除组和用户字段中的大量嵌套
假设每个组只有一个创建者,也可以将其移动到组对象中,从而保证只有一个创建者,并从我们的用户对象中删除一些非规范化数据。官方指南是一个很好的资源,可以帮助进行这样的概念设计
一般来说,最好尽量少用嵌套数据,并尽可能将数据展平
可以用更平坦的结构表示相同的特征
membership: {
user1: {
group1: { joined: '2016-01-23T02:43:27.817Z' },
group2: { joined: '2016-01-23T02:43:27.817Z' }
}
},
groups: {
group1: {
creator: user1
},
group2: {
creator: user1
}
},
users: {
user1: {
firstName: 'Adam',
lastName: 'Soffer'
}
}
我们使用了一个成员对象来管理用户和组的多对多关系,允许我们删除组和用户字段中的大量嵌套
假设每个组只有一个创建者,也可以将其移动到组对象中,向我们保证只能有一个创建者,并从我们的用户对象中删除一些非规范化数据。这种结构是否使查询属于特定组的所有用户变得困难?这种结构是否使查询属于特定组的所有用户变得困难?