【发布时间】:2020-08-01 18:25:32
【问题描述】:
我正在使用 Firebase 身份验证来存储用户。我有两种类型的用户:经理和员工。我将经理的 UID 与员工的 UID 一起存储在 Firestore 员工中。结构如下图。
Firestore 结构
Company | > Document's ID | > mng_uid: Manager's UID > emp_uid: Employee's UID
现在我想执行一个查询,例如“检索特定经理下的员工信息”。为此,我尝试运行以下代码。
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.";
});
}
}
以上代码返回{}。我试图通过从特定行返回数据来进行调试。我知道问题在于使用我在forEach 循环中使用的firebase auth 函数检索用户信息。但它没有返回任何错误。
谢谢。
【问题讨论】:
标签: javascript node.js firebase google-cloud-firestore firebase-authentication