【发布时间】:2014-02-14 10:02:22
【问题描述】:
我想知道如何在 FireBase 环境中处理对象状态。
状态是什么意思?好吧,假设您有一个应用程序,您可以使用它来组织订单列表。每个列表由一堆订单组成,因此可以认为它是一个分层数据结构。此外,每个列表都有一个状态,它可能是以下之一:
- 推迟
- 打开
- 关闭
- 已发送
- 已确认
- 商品已完全收到
- 商品部分收到
- 别的东西
在视觉 (HTML) 方面,列表应通过它们的状态来区分。每个状态都应以自己的方式呈现给客户端,例如,div-元素,列出下面的所有相关订单。
所以问题是,我如何在 FireBase(或任何其他基于文档的数据库)中处理这个状态?
结构
我...
...(选项 1)为每个订单列表使用一个 state-字段,并使用 if 或类似的东西在客户端进行过滤:
- orderlist1.state = 打开
- 订单1
- 订单2
- orderlist2.state = 打开
- 订单1
- orderlist3.state = 关闭
- orderlist4.state = deferred
...(选项 2)使用 FireBase 的层次结构对订单列表进行分类,如下所示:
- 打开
- 订单列表1
- 订单1
- 订单2
- 订单列表2
- 订单1
- 订单列表1
- 关闭
- 订单列表3
- 延期
- 订单列表4
...(选项 3)采取完全不同的方法?
那么,这里的王道是什么?
选项 2 的检索、处理和视觉输出
因为对于选项 1,这个问题的答案显然非常简单(如果 state == ...)我继续选项 2:如何检索选项 2 中的数据?我是否对每个状态都使用 Firebase 对象,如下所示:
var closedRef = new Firebase("https://xxx.firebaseio.com/closed");
var openRef = new Firebase("https://xxx.firebaseio.com/open");
var deferredRef = new Firebase("https://xxx.firebaseio.com/deferred");
var somethingRef = new Firebase("https://xxx.firebaseio.com/something");
或者什么被认为是处理这种数据/结构的最佳方法?
【问题讨论】:
标签: angularjs firebase angularfire