4

FirebaseFirestoreデータベースを使用して、UserをAndroidアプリで処理しようとしています。FirestoreのドキュメントへのFirebase認証ユーザーのマッピング

は当初、私はAuthパッケージ(文字列)から返さIDを使用したい、とすることを設定し、データベース内のusersCollectionのIDとして。 DocumentCollectionusersの内部に作成する場合は、uidフィールドをその認証パッケージ文字列に設定します。

私のようなクエリのように、刃先交換式の値にその文字列を設定する方法はありません実現:

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

が働くだろうが。

Firestoreはクエリが一意の値であると仮定しないため、代わりに、私はQuery.whereEqualTo("uid", auth_uid_string)を使用してユーザーをリストに入れます。

私は上記の解決方法を避け、firestoreにアプリのusersを保存し、authパッケージを使用して正しいユーザーを取得していることを確認します。そのような解決策は可能ですか?あるいは、と異なる firebaseサービスを試すか、またはherokuなどでpostgresサーバを実行するだけですか?

答えて

6

私はアンドロイドでこれを行う方法がわからないけど、JSで、私は次のことをやっている:

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

currentUserは認証機能が戻ることをユーザーオブジェクトである(私はsignInWithCredentialを使用) それは、完璧に働いています。私はあなたがアンドロイドで同様のアプローチを実装できると確信しています。

+1

ええ、私は 'set'でインデックスを設定できます。ありがとう – Nevermore

関連する問題