我们正在使用Firebase Firestore进行数据存储。当用户创建新房间时,我们希望引用易于记忆,以便用户可以与其他用户共享房间ID /代码。
目前,Firestore将创建唯一的引用,例如: DvfTMYED5cWdo5qIraZg
这太长了,难以记住或分享。我们可以手动设置其他参考,但是它们必须是唯一的。另一点是用户可以创建多个房间,因此引用每次都必须更改。
在此用例中是否有使用简短/更好引用的方法?
答案 0 :(得分:1)
Firebase / Firestore没有为较短的引用内置的内容,因为它们没有足够的熵来从统计学上保证唯一性。但是,由于创建聊天室的操作量可能很小,因此您可以通过以下方式在您的应用中实现此操作:
这几乎就是大多数数据库上自动递增字段的工作方式。在Firestore上,您将创建一个文档,在其中保留当前计数器值:
chat_rooms (collection)
COUNTERS: { last_room_id: 2 } (document)
chatroom_1: { room_id: 1, name: "Chat room for Stuart and Frank" } (document)
chatroom_2: { room_id: 2, name: "Public chat room" } (document)
现在创建新房间时,您:
COUNTERS
。last_room_id
,然后递增。请注意,有很多方法可以生成代码。上面的计数器方法很简单,但我建议您检查更多选项。一些有趣的读物: