31

我正在尝试使用FirebaseFirestore数据库来处理User我的 Android 应用程序中的 s 。

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

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

// get Auth package uid string
db.collection("users").document(auth_uid_string);

会工作。

因此,我想,另一种选择是使用Query.whereEqualTo("uid", auth_uid_string)which 会给我一个列表中的用户,因为 firestore 不假设查询是针对唯一值的。

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

4

1 回答 1

33

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

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

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

于 2017-10-22T16:00:48.443 回答