Невозможно получить список всех пользователей с помощью клиентского SDK, но вы можете сделать это двумя способами:
Используя базу данных Firebase Realtime
Вы можете добавить узел имен пользователей и электронных писем, скажем, /users
в вашей базе данных:
{
"users": {
"user1": {
"username": "user1",
"email": "user1@mail.com"
},
"user2": {
"username": "user2",
"email": "user2@mail.com"
}
}
}
Затем просто запросите этот узел, используя once('value')
:
const users = await firebase.database.ref('/userProfiles').once('value');
console.log(users);
Использование вызываемой функции и SDK Firebase Admin
- Создание функции HTTPS скажем
getAllUsers()
, который извлекает всех пользователей. Firebase Admin SDK позволяет перечислять всех пользователей партиями по 1000 . - . Развернуть функцию с помощью
firebase deploy --only functions:getAllUsers
. - . Затем вызвать функцию из клиента:
const getAllUsers = firebase.functions().httpsCallable('getAllUsers');
const users = await getAllUsers();
console.log(users);