我应该如何构建我的Firebase数据库

时间:2017-01-24 06:14:33

标签: firebase firebase-realtime-database nosql

我的问题不一定是如何编写我想要编写的内容,而是更多如何构建数据库以使我想要做的工作。

我现在有一些工作,但我知道这可能是“非平坦的”,并且可以更好地完成。

我想要做的是让用户注册并登录,然后创建卡片。

他/她会给卡片起一个昵称,而firebase会为该卡片生成一个唯一ID(使用childByAutoID)。在每张卡片下,您可以输入服务(如家务活动),并且该杂项也将获得唯一ID(chidlByAutoID)。我想要的就是让你能够做家务..打电话给它清洁排水沟,能够添加到同一个用户的同一张牌或者只有其中一个...以及其他用户的帮助。我认为最好不要添加15个“清洁水槽”节点,但是如果清洁水槽不存在则创建它......如果它只是在其下添加一个链接到该用户的子节点。

我认为这更好的原因是因为我希望能够说出来。用户1上的卡1的清洁水槽是15分钟,但是卡2用户1 ...或者只是另一个用户的清洁水槽可能是45分钟....

所以我目前拥有的是用户节点,卡节点和服务节点。

卡节点下的卡获取一个ID,然后是一些关键值,如昵称:...

用户节点下的卡只是ID:true ....所以我知道该卡与该用户绑定

我认为我的服务有误......服务节点下的服务获取ID和密钥值,并且该ID作为ID:true以及用户....

这是我目前的设置。它到目前为止工作,我的意思是我可以为用户在卡上添加服务,它只显示在该卡上,但就像我说的那样......我认为添加2个清洁水槽的效率低于1次清洁檐槽

另外我想象如果一个用户输入清洁排水沟和另一个类型干净的排水沟那么我无能为力,因为我没有明确的所有家务清单,但我没关系。

users
     user uid
        cards
           card ID
                services
                     service ID: true

cards
   card ID
       nickname: "chore card"
   services
       service ID: true

services
   service ID
       serviceName: "cleaning gutters"

在我的脑海里...我会想象......在服务ID下..会有卡ID还是用户UID?然后在那之下将是时间等细节

我知道有人可能会说这张卡片应该放在用户的下方......但是我被告知要将它分开以防万一我想让这张卡由2位用户以后维护

我不知道是否重要,但我使用的是Swift 3

谢谢。

0 个答案:

没有答案