主要细节中的儿童计数器

Counter of children in master detail

在我的数据结构中,我有一个包含子 Detail 元素(一对多)的 Master 元素,类似于:

/myapp/masters/1234/details/5678
/myapp/masters/1234/details/3456
/myapp/masters/6789/details/9876

现在,当我在 ios 应用程序的 table 视图中显示母版列表时,我想显示每个母版元素下的子级数量:

使用 Firebase 高效执行此操作的最佳方法是什么?我是否应该在存储在主级别的元素中保留一个计数器,并在每次附加新细节时以事务方式更新它?其他策略?

FBDataSnapshot 有一个 childrenCount 属性 用法如下:

[fbRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {

        NSInteger childCount = snapshot.childrenCount;
}

但是,关于您的数据在 firebase 中的外观存在疑问。

是这个结构吗?

myapp
   masters
      1234
        details
           5678
           3456
      6789
        details
           9876

如果是,那么您可以使用上面的相同代码并遍历快照以获取子节点的计数(根据数据量,可能还有其他更好的方法)。如果你的FB数据看起来不一样,这取决于结构。