从数据库连接两个随机用户

时间:2018-11-25 11:40:06

标签: firebase firebase-realtime-database

我正在尝试创建一个应用,需要从我的Firebase数据库中匹配两个随机用户。我的问题是我不确定如何将数据库的每个用户连接到随机对: 据我认为,用户可能会按一个按钮来表示他已经准备好,所以他的UID子级(例如“搜索”)从false变为true。通过接收DataSnapshot,用户可以看到另一个用户是否也在搜索。然后我想到了将两个用户的“搜索”状态都设置为false并创建一个新的UniqueID来连接他们。

但是我认为这样子太短了,会引起一些问题。谁能给我一个关于如何组织搜索过程的提示?

1 个答案:

答案 0 :(得分:2)

实际上,使用一个特殊的节点,例如searching并将其设置为truefalse是一个好主意。

您可以使用orderByChild()searching节点设置为true的所有用户进行排序,并获取其中任何一个用户的uid。

要使过程随机,您可以打电话给用户,取回给您的ID,然后使用基本随机数随机选择一个。

如果在对用户进行调用之后,您在一个数组中有10个用户ID,则希望获取0-9之间的随机数,然后使用userId调用firebase。

我认为Firebase对此没有任何内置代码。因此,这是在应用程序中实现此功能的最佳方法。

要给出基本概念,您的数据库结构应如下所示:

--rootNode
|
|
  -- uid1
| |
|  - searching
|  - other Fields
|
  -- uid2

  .
  .
  .