Я использую аутентификацию Firebase для хранения пользователей. У меня есть два типа пользователей: менеджер и сотрудник. Я храню UID менеджера в сотруднике Firestore вместе с UID сотрудника. Структура показана ниже.
Структура Firestore
Company
|
> Document's ID
|
> mng_uid: Manager's UID
> emp_uid: Employee's UID
Теперь я хочу выполнить запрос типа «Получить информацию о сотрудниках, который под указанным c менеджером. " Для этого я попытался запустить приведенный ниже код.
module.exports = {
get_users: async (mng_uid, emp_uid) => {
return await db.collection("Company").where("manager_uid", "==", mng_uid).get().then(snaps => {
if (!snaps.empty) {
let resp = {};
let i = 0;
snaps.forEach(async (snap) => {
resp[i] = await admin.auth().getUser(emp_uid).then(userRecord => {
return userRecord;
}).catch(err => {
return err;
});
i++;
});
return resp;
}
else return "Oops! Not found.";
}).catch(() => {
return "Error in retrieving employees.";
});
}
}
Над кодом возвращается {}
. Я попытался отладить, вернув данные из указанных c строк. Я узнал, что проблема заключается в получении информации о пользователе, используя функцию аутентификации firebase, которую я использовал в forEach
l oop. Но это не возвращает никакой ошибки.
Спасибо.