Firestore - 获取Subcollection Swift

时间:2018-02-28 21:53:23

标签: firebase firebase-realtime-database swift4 google-cloud-firestore

Firebase 转换为 Firestore

我有一个类似于以下

的数据库

enter image description here

以上是相册中条目的Firebase节点。顶级节点是Album的ID(来自另一节点的引用),并且在每个albumID下作用域,每个专辑条目(或图片)都有一个节点(auto gen id)。扩展的专辑有两个专辑条目,第一个是扩展的。

在Firebase中 - 我可以通过执行以下操作来获取相册条目集(针对给定的相册)

我可以偏移到子节点并从那里读取。

<div id="page">
  <a href="" id="a">Click me</a><br>
  Hello<br>
  Hello<br>

  <div id="popup"> 
  External website:
  <iframe id="iframe"></iframe>
  </div>

</div>

在Firestore中,如何检索同一组相册条目?

是否类似于下面的正确语法?我可以从文档中获取文档吗?Firestore会知道我要求查找子集合,因为我说getDocuments()?

    let dbKey = "byAlbum_entries"
    let ref  = Database.database().reference(fromURL: firebaseDB_URL)
    let albumEntryReference = ref.child( dbKey).child( forAlbum.objectid)

    albumEntryReference.observeSingleEvent(of : .value, with : { (snapshot) in ...

}

第2部分--- FIRESTORE的数据模型良好实践

最好重构数据,以便没有子集合,并且只有一个集合,其中每个条目都包含albumID和AlbumEntryID,我只能使用where子句来获取albumID匹配的相册条目我正在寻找的那个?这需要一个额外的索引,而目前,在firebase中,我可以直接进入我想要阅读的地方并阅读。

即使重组确实变得更好,我仍然会感谢有关语法的帮助,以便在数据库当前存在的情况下获取给定相册的所有专辑条目。

0 个答案:

没有答案