【发布时间】:2022-01-22 09:00:06
【问题描述】:
我使用 firebase (firestore) 已经有一段时间了,但我有点卡住了,想知道是否有人能想到解决方案。
在 Firestore 数据库中,我有一个用户集合,每个用户都有一个电子邮件地址和几个其他字段。在这种情况下,我正在检查用户电子邮件是否存在,如果存在,我想为具有 listUid 的特定用户创建一个列表字段。我通过电子邮件引用用户,获取这些用户的 docId,然后尝试为每个用户设置一个列表字段。
我没有从 firestore 收到任何错误,它只是由于某种原因没有在数据库中更新,我不知道我哪里出错了。提前致谢
export const addListUidToExistingUserList = (
{ firestore },
emailArray,
listUid
) => {
return async () => {
let docIds = [];
emailArray.forEach((emailAddress) => {
//find users by email (works)
const query = db
.collection("users")
.where("email", "==", emailAddress);
//get docId's for user with matching email (works)
query.get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
docIds.push(doc.id);
});
});
//add a new list with corresponding listUid (does not work)
docIds.forEach((id) => {
let userRef = db.collection("users").doc(id);
batch.set(userRef, { lists: [{ listUid }] });
});
});
return await batch.commit();
};
};
【问题讨论】:
标签: javascript reactjs firebase google-cloud-firestore