Firebase 按键检索对象
我想构造一个参与者列表,其中包含指向其他对象的键 我目前的结构:Firebase 按键检索对象,firebase,firebase-realtime-database,database-design,Firebase,Firebase Realtime Database,Database Design,我想构造一个参与者列表,其中包含指向其他对象的键 我目前的结构: - events -- 12345678910 // eventKey --- name --- participants // contains userIds ---- A123456789: true ---- B123456789: true - users -- A123456789 // userId --- Username: 'NameA' -- B123456789 // userId --- Username
- events
-- 12345678910 // eventKey
--- name
--- participants // contains userIds
---- A123456789: true
---- B123456789: true
- users
-- A123456789 // userId
--- Username: 'NameA'
-- B123456789 // userId
--- Username: 'NameB'
我只是将用户ID保存在参与者列表中,以避免冗余数据并便于维护
我的问题:检索所有引用的用户密钥的用户数据的最佳方法是什么?我必须为每个用户id创建一个查询吗?!
还是有更好的方法在firebase中保存引用
提前感谢对于您当前的结构,您必须执行多个查询
在NoSQL数据库中,复制数据是非常常见的,以避免执行类似这样的多个查询。对于当前的结构,您必须执行多个查询
在NoSQL数据库中,复制数据是非常常见的,以避免执行类似这样的多个查询。要读取特定事件中所有参与者的用户数据,确实需要为每个参与者附加一个侦听器。这并不像许多开发人员最初认为的那么慢,因为 但是,在每个事件下为每个参与者复制一些数据也是很常见的,这样您就可以显示参与者的基本信息,而无需读取每个单独的用户节点 例如,如果显示活动的参与者姓名,则可以存储用户名而不是
true
,并保存查找。但当然,这是以拥有重复数据为代价的,并且必须弄清楚是否/如何使数据保持最新。要了解更多关于这方面的基本策略,请参阅
关于这个主题的一些进一步的好的阅读:
- 这篇关于
true
,并保存查找。但当然,这是以拥有重复数据为代价的,并且必须弄清楚是否/如何使数据保持最新。要了解更多关于这方面的基本策略,请参阅
关于这个主题的一些进一步的好的阅读:
- 这篇关于