Сопоставление пользователей Firebase Auth с документами Firestore

Я пытаюсь использовать базу данных Firebase Firestore для обработки User в моем приложении для Android.

Сначала я хочу использовать id , возвращенный из пакета Auth (строка), и установить что в качестве идентификатора для users Collection в базе данных. При создании Document внутри Collection users, я установил поле uid в эта строка пакета аутентификации.

Я понимаю, что нет способа установить для этой строки индексируемое значение, чтобы такие запросы были такими:

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

будет работать.

Таким образом, я полагаю, что альтернативой является использование Query.whereEqualTo("uid", auth_uid_string), которое даст мне пользователя в списке, потому что Firestore не Предположим, запрос относится к уникальному значению.

Я хочу избежать вышеуказанного решения и разработать способ хранения users приложения в firestore и используйте пакет auth, чтобы убедиться, что я выбрал правильный пользователь. Возможно ли такое решение? Или я должен попробовать другой сервис firebase, или даже просто запустить сервер postgres в heroku или что-то в этом роде?

17 голосов | спросил Nevermore 7 +03002017-10-07T19:06:41+03:00312017bEurope/MoscowSat, 07 Oct 2017 19:06:41 +0300 2017, 19:06:41

1 ответ


0

Я не уверен, как это сделать в Android, но с JS я делаю следующее:

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

currentUser - объект пользователя, который возвращает функция аутентификации (я использую signInWithCredential) Работает отлично. Я уверен, что вы можете реализовать аналогичный подход в Android.

ответил Ziad Alame 22 +03002017-10-22T19:00:48+03:00312017bEurope/MoscowSun, 22 Oct 2017 19:00:48 +0300 2017, 19:00:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132