我正在努力寻找解决方案,以解决我在Firestore中需要做的一件有趣的事情。
如果您帮助我,会很棒。我将尝试解释:
我有类似扑克桌的内容,用户可以在其中创建表格并将其加入。当用户打开表时,其他用户可以在表中看到他。当他离开桌子时,他应该消失了(这是我遇到的问题)
离开表可以通过导航到其他页面,关闭选项卡等来实现。他可以在同一表中的不同选项卡,浏览器或设备中(如果没有其他选择,我可以更改此表)。
所以我需要显示哪些球员连接到一张桌子。 您能想到一个最佳解决方案吗?您将如何实施?
。
如果有帮助,我尝试了一些但不起作用的事情:
答案 0 :(得分:1)
所以我需要显示哪些球员连接到一张桌子。您能想到一个最佳解决方案吗?您将如何实施?
我能想到的最简单的解决方案是创建表的集合,并在每个文档中存储一组用户ID:
Firestore-root
|
--- tables (collection)
|
--- tableId (document)
|
--- users: ["usersIdOne", "usersIdTwo", "usersIdThree"]
现在要检查玩家是否已连接到桌子,您只需在文档/查询上附加realtime listener,就可以实时获取数据。这意味着一旦玩家加入或离开桌子,听众就会被解雇,并立即收到通知。
要将用户添加到表中,只需在users
数组中添加其uid,并要删除侦听器,请从users
数组中删除其uid。有关更多信息:
请参阅arrayUnion
和arrayRemove
。