我已将我的 firebase 数据库重组为平面模型,其中对象从一个对象引用到另一个对象。就像在下面的示例中一样,我根据客户的 id 从客户对象中引用相关用户。
现在出于某种原因,我希望在列出“customer/1510925e-0541-474f-93c1-10890934fda9”路径时返回用户对象的数据。
列出客户记录时访问用户数据的逻辑是什么?我在这里缺少什么?
"customer" : {
"1510925e-0541-474f-93c1-10890934fda9" : {
"users" : {
"LlMNVWXvzLhmP24AKVciM2PvPVy2" : true,
"Q4sM188BgwRGYhJUiLDqgAzGGX72" : true
},
"name" : "NiceCustomer"
},
"634f6b10-1def-496d-af44-834ae3c69c27" : {..customer2.},
"a7ca5d01-757c-4534-a9e1-154c53d160a7" : {..customer 2 etc.}
}
我假设您还有用户数据的路径,例如“/users/”。例如,用户记录的数据将通过查看“users/LlMNVWXvzLhmP24AKVciM2PvPVy2”返回。
通过指示哪些用户与客户相关联来为您的记录编制索引的目的只是为了使以后更容易获取数据,尤其是在您的数据库扩展时。
想象一下,您的用户数据如下所示:
"users":{
"LlMNVWXvzLhmP24AKVciM2PvPVy2":{
"customer" : "1510925e-0541-474f-93c1-10890934fda9"
}
"Q4sM188BgwRGYhJUiLDqgAzGGX72":{
"customer" : "634f6b10-1def-496d-af44-834ae3c69c27"
}
...for many, many records...
}
...并且您需要查找哪些用户属于特定客户记录。如果您的用户列表很大,则需要进行大量处理才能找到所有相关记录。您必须检查每个用户。
另一方面,如果您已按照问题中的指示进行了一些索引编制,则很容易找到哪些用户使用了客户记录。只需提取客户记录,获取用户 ID,然后从 /users 路径获取他们的数据。
有关详细说明,请参阅 Firebase 文档:https : //firebase.google.com/docs/database/android/structure-data#fanout
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句