我正在准备一个Firebase应用程序。该应用程序将是关系数据。您想分别保存的作者信息,书籍信息和销售信息。记录结构如下。
作家
图书
销售量
如何使用子值创建数据结构以获取所需的信息。
例如,为展览轻松售出的最后一本书。
预先感谢您的帮助,祝您有美好的一天。
Firebase没有表或架构(如SQL中一样)并且没有关系,因此您需要以一种获取您要检索的数据的方式来结构化数据。
请注意,所有节点键(以Y开头)都是使用childByAutoId创建的。
authors
-Y89j809ja
author: "Heinlein"
-Yi9jasas0
author: "Clarke"
-Yojoos0sd
author: "Bradbury"
books
-Ykkao90sj
book_name: "Starship Troopers"
author_id: "-Y89j809ja"
-Yom9sjwppp
book_name: "2001: A Space Odyssey"
author_id: "-Ji9jasas0"
-Yowk90dj9s
book_name: "The Martian Chronicles"
author_id: "-Yojoos0sd"
sales
-Yijajisijd
sales_timestamp: "20160916130510"
book_id: "-Ykkao90sj"
-Yioj900wwo
sales_timestamp: "20160917084722"
book_id: "-Yojoos0sd"
使用此结构,您可以查询销售节点的最后3次销售(sales_timestamp的queryLimitedToLast)。这将返回通过book_id检索图书并通过author_id检索作者所需的数据。
还有其他100种方法来构造数据,但这将是最“相关的”
它将需要一个查询才能从销售节点(.Value)获得销售,然后遍历这些结果以查询书籍和作者。您可以嵌套这些查询,以免它们违反Firebase的异步特性。
另一个选择是整理数据,并仅将每个事务与所有需要的数据一起存储。
sales
-Yijajisijd
sales_timestamp: "20160916130510"
book_name: "Starship Troopers"
author: "Heinlein"
price: "$19.95"
-Yikiasomn
sales_timestamp: "20160917084722"
book_name: "2001: A Space Odyssey"
author: "Clarke"
price: "$14.95"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句