我正在尝试创建一个应用,需要从我的Firebase数据库中匹配两个随机用户。我的问题是我不确定如何将数据库的每个用户连接到随机对: 据我认为,用户可能会按一个按钮来表示他已经准备好,所以他的UID子级(例如“搜索”)从false变为true。通过接收DataSnapshot,用户可以看到另一个用户是否也在搜索。然后我想到了将两个用户的“搜索”状态都设置为false并创建一个新的UniqueID来连接他们。
但是我认为这样子太短了,会引起一些问题。谁能给我一个关于如何组织搜索过程的提示?
答案 0 :(得分:2)
实际上,使用一个特殊的节点,例如searching
并将其设置为true
和false
是一个好主意。
您可以使用orderByChild()
对searching
节点设置为true
的所有用户进行排序,并获取其中任何一个用户的uid。
要使过程随机,您可以打电话给用户,取回给您的ID,然后使用基本随机数随机选择一个。
如果在对用户进行调用之后,您在一个数组中有10个用户ID,则希望获取0-9之间的随机数,然后使用userId调用firebase。
我认为Firebase对此没有任何内置代码。因此,这是在应用程序中实现此功能的最佳方法。
要给出基本概念,您的数据库结构应如下所示:
--rootNode
|
|
-- uid1
| |
| - searching
| - other Fields
|
-- uid2
.
.
.