将 Firebase Auth 用户映射到 Firestore 文档
Mapping Firebase Auth users to Firestore Documents
我正在尝试使用 Firebase 的 Firestore
数据库来处理我的 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.
中实施类似的方法
我正在尝试使用 Firebase 的 Firestore
数据库来处理我的 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.