Сопоставление пользователей аутентификации Firebase с документами Firestore
я пытаюсь использовать Firebase ' s Firestore
база данных для обработки User
s в моем приложении для Android.
Первоначально я хочу использовать id вернулся из Auth
пакет (строка) и установите это как идентификатор для users
Collection
в базе данных. При создании 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 service, или даже просто запустить сервер postgres в heroku или что-то еще?
1 ответов
Я не уверен, как это сделать в android, но с JS я делаю следующее:
firebase.firestore().collection('users').doc(currentUser.uid).set(currentUser)
currentUser
- это объект пользователя, который возвращает функция аутентификации (я использую signInWithCredential
)
Он работает отлично. Я уверен, что вы можете реализовать аналогичный подход в android.