firebase - 从数据库连接两个随机用户
问题描述
我正在尝试创建一个应用程序,我需要在其中匹配我的 Firebase 数据库中的两个随机用户。我遇到的问题是我不确定如何将数据库的每个用户连接到随机对:据我所知,用户可能会按下一个按钮来表示他已经准备好,所以他的 UID 的孩子喜欢“搜索”从假到真。通过接收 DataSnapshot,用户可以查看其他用户是否也在搜索。然后我想将两个用户的“搜索”状态都设置为 false,并创建一个新的 UniqueID 来连接他们。
但就像那样,它被认为很短,我认为并且会导致一些问题。谁能给我一个关于如何组织搜索过程的提示?
解决方案
实际上使用一个像这样的特殊节点searching
并将其设置为true
andfalse
将是一个好主意。
您可以使用对节点设置为orderByChild()
的所有用户进行排序,并获取任何这些用户的 uid。searching
true
为了让这个过程随机化,你可以给用户打电话,把给你的 id 拿回给你,然后用一个基本的随机数随机选择一个。
如果在调用用户后,您在一个数组中有 10 个用户 ID,您可能希望获得一个 0-9 之间的随机数,然后使用 userId 调用 firebase。
我不相信 Firebase 有任何内置代码。因此,这将是您在应用程序中实现此功能的最佳方法。
给出一个基本概念,您的数据库结构应该如下所示:
--rootNode
|
|
-- uid1
| |
| - searching
| - other Fields
|
-- uid2
.
.
.
推荐阅读
- asp.net-core - .AddOAuth() 与 .AddOpenIdConnect()
- firebase - 在 Firestore 中创建追随者和追随模型的最佳方法是什么?
- python - Python requests.post 不发布(使用 cloudfare 绕过)
- jdbc - 使用内部查询时 Kafka JDBC 源连接器中的 NPE
- aws-lambda - Quarkus 本机编译错误:“图像堆中不允许有 sun.security.provider.NativePRNG 的实例”
- excel - 为什么我的宏无法与solidworks 连接?
- sql - Teradata:选定的非聚合值必须是相关组的一部分......我正在选择所有非聚合字段
- terraform - terraform import 为字符串键值引发“需要索引值”错误
- html - 即使源明确使用 HTTPS,iframe 也会尝试使用 HTTP 访问页面。为什么会出现这种情况?
- terraform-provider-aws - Terraform 0.12v 未从 .tfvars 文件中选取值(变量类型 - 地图/对象)