将Firebase Auth用户映射到Firestore文档

Nev*_*ore 22 user-management firebase firebase-authentication google-cloud-firestore

我正在尝试使用Firebase的Firestore数据库User在我的Android应用中处理s.

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

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

// get Auth package uid string
db.collection("users").document(auth_uid_string);
Run Code Online (Sandbox Code Playgroud)

会工作.

所以替代方案,我想,是使用Query.whereEqualTo("uid", auth_uid_string)哪个会给我列表中的用户,因为firestore不认为查询是针对唯一值的.

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

小智 29

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

firebase.firestore().collection('users').doc(currentUser.uid).set(currentUser)
Run Code Online (Sandbox Code Playgroud)

currentUser是验证功能返回的用户对象(我用signInWithCredential)它工作正常.我相信你可以在android中实现类似的方法.