我尝试使用 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服务器?
答案 0 :(得分:25)
我不知道如何在android中执行此操作,但使用JS我正在执行以下操作:
firebase.firestore().collection('users').doc(currentUser.uid).set(currentUser)
currentUser
是身份验证函数返回的用户对象(我使用signInWithCredential
)
它工作得很好。我相信你可以在android中实现类似的方法。