Javascript 使用Firebase为web应用程序创建房间

Javascript 使用Firebase为web应用程序创建房间,javascript,html,firebase,web,firebase-realtime-database,Javascript,Html,Firebase,Web,Firebase Realtime Database,我目前正在firebase中构建一个web应用程序,希望用户能够创建和加入游戏室。目前,我有一个问题,试图找出如何创建其他人可以加入的房间。我想知道是否有人能帮我开始这个问题。仅供参考,创建和加入聊天室的每个用户都将拥有自己的帐户和唯一ID,如果这很重要的话Firebase没有任何聊天室的概念。有父节点和子节点,它们通过key:value对进行代码处理,非常类似于字典 Firebase中也没有用户,除了在Firebase中创建新用户并存储在服务器内部时创建的用户id(uid)和相关数据。该数据用

我目前正在firebase中构建一个web应用程序,希望用户能够创建和加入游戏室。目前,我有一个问题,试图找出如何创建其他人可以加入的房间。我想知道是否有人能帮我开始这个问题。仅供参考,创建和加入聊天室的每个用户都将拥有自己的帐户和唯一ID,如果这很重要的话

Firebase没有任何聊天室的概念。有父节点和子节点,它们通过key:value对进行代码处理,非常类似于字典

Firebase中也没有用户,除了在Firebase中创建新用户并存储在服务器内部时创建的用户id(uid)和相关数据。该数据用于身份验证。如果需要存储关于某个用户的其他数据,可能是一个名称,则在数据库本身中完成

保持简单,假设我们想要存储关于用户和房间的信息

users
  uid_0
    name: "Bill"
  uid_1
    name: "Ted"
  uid_27
    name: "The Doctor"
uid是新用户在Firebase中创建帐户时创建的uid。您的应用程序将收集Firebase提供的uid,并将其和任何其他用户数据写入用户节点;在本例中,用户名为

然后是房间

rooms
   room_0
     room_name: "Phone Booth"
     description: "Time travelling in style; Excellent!"
     uid_0: true
     uid_1: true
   room_1
     room_name: "Tardis"
     description: "It's bigger on the inside"
     uid_27: true
在这种情况下,房间0,电话亭,里面有比尔和泰德,房间1里面有医生

这不是构造数据的唯一方法,您的结构可能与此有很大差异,但这是一个起点


注意:键名几乎总是使用push()创建的。我使用房间0等作为占位符。最佳做法是将主父键名称与其包含的数据解除关联。i、 e.不要用电子邮件地址之类的硬编码密钥名称-这是个坏消息。

您好,您可以启动Firebase身份验证:这意味着除非通过Firebase或您的应用程序和Firebase都登录,否则您的房间将无法访问。目前,我拥有它,因此您必须登录才能显示创建或加入roomOk的选项。好的,那么您的问题是什么?非常感谢,这非常有帮助。只是为了澄清一下,在用户创建房间时会调用push()函数。然后,该房间将被分配一些值以供参考,正确吗?@jhigg15正确!