Firebase:将用户的 uid 存储为 Users 集合的文档 ID 总体上是否更好?

wha*_*hat 5 android firebase google-cloud-platform flutter google-cloud-firestore

我有一个名为 Firestore 的集合users,用于存储我的所有用户信息。注册新用户时,我首先使用 Firebase Auth 注册他们,然后在集合中创建记录users。现在我将其存储UID为字段,这意味着当我想查询用户的信息时,我需要使用子句进行查询WHERE。然而,更快查询的一种替代方法是将 存储UID为集合的文档 ID。这样我就可以使用特定 ID 查询集合,直观上看起来更快。

使用UID作为文档 ID 让我担心一些事情:

  1. 我不确定是否可以假设UIDFirebase Auth 中的唯一性意味着将其用作 Firestore 集合中的文档 ID 时的唯一性。
  2. 我观看了 Todd 的教程视频,视频中说如果使用 Firestore 提供的自动生成的文档 ID,查询速度会更快。鉴于此,当已知提供的文档 ID 查询速度更快时,我不想冒险使用其他东西。

假设您仅基于 进行查询,那么使查询尽可能高效的更好方法是什么UID?或者差异如此微不足道以至于这是一个有争议的问题?

joh*_*ohn 4

是的,这是最推荐的方法,因为 firebase auth 确保您的用户拥有唯一的 ID,因此无需担心重复。另一件事是存储除 uid 之外的单独 id 是多余的,因为在应用程序中大多数时间您需要的是用户 uid,以确保身份验证用户和存储的用户是一个且唯一的同一个人。