【发布时间】:2017-07-31 06:24:18
【问题描述】:
我正在构建一个用于跟踪用户位置并更新 Firebase 的应用。我已阅读有关结构数据的文档,但仍有一些问题。
我正在考虑以两种方式之一来构建数据,但无法确定是哪一种。
users
$id
-position
-other attr
对比:
user_position
$id
users
$id
-other attr.
第一个设计在什么情况下效果最好,第二个?
【问题讨论】:
-
@philipxy 我不同意。任何一种设计都可以提供位置坐标。例如2:用户0的路径是/rootref/27_6N-82_2W/uid_0,明天是/rootref/30_5N-77_7W/uid_0。然后对 uid_0 的查询将在返回的键中显示它们的坐标。但总的来说,没有真正的方法来回答这个问题,因为 Firebase 的结构可以适应正在执行的查询类型和需要哪些数据。也许用更多信息更新问题将有助于我们理解用例。
-
如果您正在考虑这个选择,您正在遵循什么程序,而您却被困住了?如果您没有遵循设计指南(不要与告诉您如何表达与实现设计相关的内容的编程/产品手册混淆),那么请查找信息建模和数据库设计的一些介绍并遵循直到你被卡住了。
-
@Jay 知道了,谢谢。
-
@philipxy 我想我主要在努力解决的是观察两个节点(嵌套),每个查询具有较小的数据树(即第二个选项)还是观察一个节点,使用稍大的数据树。
-
观察者的重量很轻,因此在任何一种情况下“应变”都可以忽略不计。但是 - 子数据的数量会影响这一点,但我们不知道您在谈论多少子数据,所以真的没有办法回答。
标签: firebase firebase-realtime-database