4

我正尝试使用FirebaseFirestore数据库在我的Android应用中处理User s。将Firebase身份验证用户映射到Firestore文档

起初我想用IDAuth包(字符串)返回,并设置为ID在数据库中的usersCollection。当在Collectionusers内部创建Document时,我将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服务器?

回答

6

我不知道如何在Android的做到这一点,但JS我做了以下内容:

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

currentUser是用户对象的认证功能恢复(我用signInWithCredential) 它正在完美工作。我相信你可以在android中实现类似的方法。

+1

是的,所以我可以用'set'设置索引。谢谢 – Nevermore