firebase 即使userId和username都是字符串,它们是否有优势?

siotufzp  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(128)

当涉及到用户身份验证时,我遇到过不同的变化,我看到开发人员在他们的数据库中包括一个userId字段和一个username字段(都是字符串),所以我想知道如果你同时拥有这两个字段是否有优势。
我宁愿只有一个字段(用户名),以有一个更好的概述,并防止可能的错误,但我不确定是否会有问题,随着变化。
我已经在互联网上搜索过了,但只找到了一个Quora的答案,它说将userId作为整数是有意义的,因为“整数比字符串更容易/更快/更便宜地进行排序、搜索和比较”

5fjcxozz

5fjcxozz1#

链接答案中的解决方案适用于SQL数据库,而适用于NoSQL数据库。如果您使用的是Firebase Authentication,我看不出有什么理由要将UID或用户名存储在数据库中。为什么?因为您始终可以从current user对象中获取这些值,而无需执行数据库调用。一般来说,始终只在数据库中存储应用程序代码中需要的数据。

iyfamqjs

iyfamqjs2#

UID永远不会更改,通常用于通过用户名引用其他集合/表中的相关数据(因为在大多数应用程序中通常允许用户更改其名称)。您没有提供有关应用程序的许多详细信息,但这些信息对于大多数操作都很方便,例如:
1.发送电子邮件时获取用户名(最好从数据库查询,而不是从Firebase Auth获取数据)
1.如果您的应用程序提供用户生成的内容,例如文章,您可能希望显示作者的姓名,并且将用户名存储在数据库中比运行额外的Firebase查询要快。此外,用户只能使用客户端SDK读取他们自己的数据。
我不确定您使用的是哪个数据库,但只要您有正确的索引设置,查询应该很快。使用UUID或MongoBD的ObjectID作为用户ID是很常见的。

相关问题