将 Firebase Auth 用户映射到 Firestore 文档

Mapping Firebase Auth users to Firestore Documents

我正在尝试使用 FirebaseFirestore 数据库来处理我的 Android 应用程序中的 User

最初我想使用从 Auth 包返回的 id(一个字符串),并将其设置为 users Collection 在数据库中。在 Collection users 中创建 Document 时,我将 uid 字段设置为该身份验证包字符串。

我意识到没有办法将该字符串设置为可索引的值,以便像这样的查询:

// get Auth package uid string
db.collection("users").document(auth_uid_string);

会起作用。

所以我猜,另一种方法是使用 Query.whereEqualTo("uid", auth_uid_string),这会在列表中为我提供用户,因为 firestore 不假定查询是针对唯一值的。

我想避免上述解决方案,并设计一种方法将应用程序的 users 存储在 firestore 中,并使用 auth 包来验证我是否获取了正确的用户。这样的解决方案可能吗?或者我应该尝试 不同的 firebase 服务,还是 运行 heroku 中的 postgres 服务器之类的?

我不确定如何在 android 中执行此操作,但使用 JS 我正在执行以下操作:

firebase.firestore().collection('users').doc(currentUser.uid).set(currentUser)

currentUser是认证函数returns的用户对象(我用的是signInWithCredential) 它工作得很好。我相信您可以在 android.

中实施类似的方法