Создать случайный UID авторизации Firebase для запроса документа случайного пользователя из Firestore? - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь запросить документы случайного пользователя из Firebase Firestore.

Я использую UID Firebase Auth в качестве идентификатора в Firestore, поэтому вместо 20-символьного UID мой идентификатор для пользователя - 28-значныйUID от Auth.

Чтобы получить случайный документ, я хочу сделать следующее:

const randomId = firestore.collection.doc().id

// ... all the query logic 

.where(firebase.firestore.FieldPath.documentId(),'>',randomId)

Я повторяю этот процесс, если ничего не найдено.(как упомянуто здесь ).

Это будет прекрасно работать , если у меня был случайно сгенерированный идентификатор Firebase, однако, поскольку у меня есть идентификатор аутентификации Firebase (который длиннее)этот процесс на самом деле не работает, и некоторые документы никогда не показываются.

Так что я подумал, что могу автоматически сгенерировать UID Firebase Auth, но, похоже, это не сработает.

Примерно такбыть под рукой:

const randomId = firebase.auth().generateRandomUid()

Итак, мои вопросы:

  1. Есть ли способ автоматически сгенерировать UID Firebase Auth без фактического создания пользователя?
  2. Есть лилучший способ запросить случайные документы из Firestore с идентификатором UID как идентификатор?

Изменение идентификатора не вариант, и я хотел бы избежать создания отдельного поля для этого.

1 Ответ

0 голосов
/ 02 декабря 2018

Есть ли способ автоматически сгенерировать UID Firebase Auth без фактического создания пользователя?

Нет, нет.UID Firebase Auth генерируется после успешного завершения процесса аутентификации.Другими словами, как только пользовательский объект Firebase будет успешно создан, вы получите этот UID.Таким образом, вы не можете получить UID Firebase Auth без создания пользователя.

Есть ли лучший способ запрашивать случайные документы из Firestore с UID в качестве идентификатора?

Если вы неЕсли вы не хотите использовать UID Firebase Auth, вы можете использовать случайный ключ, который генерируется при вызове функции doc().Это удобнее использовать, если вы добавляете документы в другие коллекции, а не в коллекцию пользователей.

Существует также другой идентификатор пользователя, который можно сгенерировать, но он снова появляется в результате процесса аутентификации.Таким образом, вы можете проверить Аутентификацию в Firebase анонимно, используя JavaScript .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...