将Firebase Auth用户映射到Firestore文档

时间:2017-10-07 16:06:41

标签: firebase firebase-authentication user-management google-cloud-firestore

我尝试使用 Firebase Firestore数据库来处理我的Android应用中的User

最初我想使用Auth包中返回的 id (字符串),并将其设置为users Collection的ID数据库。在Document Collection内部创建users时,我将uid字段设置为该auth包字符串。

我意识到无法将该字符串设置为可索引值,因此查询类似于:

// 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服务器?

1 个答案:

答案 0 :(得分:25)

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

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

currentUser是身份验证函数返回的用户对象(我使用signInWithCredential) 它工作得很好。我相信你可以在android中实现类似的方法。