创建FireStore数据结构

时间:2018-09-21 03:05:13

标签: swift firebase google-cloud-firestore

myPosts是收藏集。 我要使数据结构如下。

< Data Structure A >
myPosts(collection)
   ┣ userID1(document)
   ┃   ┣ postID1(collection)
   ┃   ┃   ┗ timestamp: 2018/09/21/22:22(field)
   ┃   ┣ postID2
   ┃   ┗ postID3
   ┣ userID2
   ┣ userID3

为了使数据结构如上,我编写的代码如下

myPostsRef.document(userID).collection(postID).addDocument(data: [
        timestamp_field: FieldValue.serverTimestamp()
    ]) { (error) in
        if let _ = error { return }
    }

但是,执行此代码时,它具有以下结构。

< Data Structure B >
myPosts
   ┗ userID
      ┗ postID 
          ┗ AutoGeneratedID 
                  ┗ timestamp: 2018/09/21/22:22

如何制作像数据结构A这样的结构?

1 个答案:

答案 0 :(得分:0)

字段只能存在于文档中,而文档又只能存在于集合中。还建议使用固定的集合名称,因为您无法查询以获得子集合列表。因此,我建议:

/myPosts (collection)
  userId1 (document)
    posts (collection)
      post1 (document)
        timestamp (field)

您可以通过以下方式获得此信息:

myPostsRef.document(userID).collection("posts").document(postID).setData([
  ...