如何将firebase子条目与主条目相关联? (评论中的解释)

时间:2016-06-02 03:34:31

标签: ios swift firebase firebase-realtime-database

JSON:

{
  "coffee-shops" : {
    "-KJ4I4D-Jrqrzc9wP42C" : {
      "coffeeShopName" : "Starbucks",
      "coffeeShopRating" : 3.5,
    "-KJ4VVB51wx9NpEKtjxQ" : {
      "coffeeShopName" : "Starbucks",
      "coffeeShopRating" : 1,
      "coffeeShopReview" : "R",
      "coffeeShopReviewerName" : "Charles"
    },
    "-KJEJ6MpQwOHcay_9k6v" : {
      "coffeeShopName" : "Starbucks",
      "coffeeShopRating" : 4,
      "coffeeShopReview" : "B",
      "coffeeShopReviewerName" : "Charles"
    }
  }
  },
  "users" : {
    "02a54e06-9635-4e22-9bb7-c0ddcd9c6f4f" : {
      "email" : "charles@gmail.com",
      "provider" : "password",
      "username" : "thecoffeeguy"
    },
    "03fe2c17-3c66-442c-a63d-4a1e02fd660c" : {
      "email" : "test@gmail.com",
      "provider" : "password",
      "username" : "Charles"
    },
    "16a7279f-5478-4f3f-b5f8-2f261d166d92" : {
      "email" : "tester@gmail.com",
      "provider" : "password",
      "username" : "haha"
    },
    "23275f65-8e16-4ede-9236-21485b7493b9" : {
      "email" : "boo@gmail.com",
      "provider" : "password",
      "username" : "boo"
    },
    "a5ed6962-76bc-476a-b432-6787e45badfc" : {
      "email" : "mesbekmek@gmail.com",
      "provider" : "password",
      "username" : "mesbekmek"
    }
  }
}

某些背景信息:我正在制作咖啡应用,我需要将评论专门针对用户所在的咖啡店。现在,所有已经完成的评论都将显示在我的tableview上。

这不是一个“如何编码”的问题,但我想知道如何处理这个以及如何解决它。

我认为我应该这样做:

  1. 获得特定咖啡店的uuid

  2. 遍历评论,因为它们是我咖啡店模型中的子条目

  3. 从迭代审核中获取数据,然后查看所选单元格(?)的uuid是否与审核uuid匹配

  4. 这对我来说听起来并不合适,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

您可以以不同的方式组织数据库。

coffee-shops:
|--coffeeId1
|--coffeeId2
|--coffeeId3

reviews:
|--coffeeId1
|----reviewId1
|----reviewId2
|--coffeeId2
|----reviewIdX
|----reviewIdXx

当您插入评论时,您可以使用咖啡店的相同键 通过这种方式,同一咖啡店的所有评论都在同一个参考文献中。

您可以使用以下内容实现:

ref(reviews).child(coffeeshop.getKey()).push();