我正在尝试创建一个表单来向我的项目中添加更多的管理员。
async addAdmin() {
const querySnapshot = await getDocs(collection(this.db, "admin-requests"));
querySnapshot.forEach((doc) => {
if (doc.data().email === this.addAdminFormGroup.controls.adminEmail.value) {
setDoc(doc(this.db, "admins", doc.data().uid), {
name: doc.data().name,
email: doc.data().email,
uid: doc.data().uid
});
}
});
}setDoc(doc(...
doc部件给了我一个错误:
(参数) doc: QueryDocumentSnapshot DocumentData
此表达式不可调用。类型'QueryDocumentSnapshot DocumentData‘没有调用signatures.ts(2349)
发布于 2021-12-15 14:55:02
问题是对forEach文档和函数都使用了文档名。
更改forEach文档名以解决问题,并更改快照名称以提高可读性。
正确方式:
async addAdmin() {
const adminRequestsSnapshot = await getDocs(collection(this.db, "admin-requests"));
adminRequestsSnapshot.forEach((adminRequestDoc) => {
if (adminRequestDoc.data().email === this.addAdminFormGroup.controls.adminEmail.value) {
setDoc(doc(this.db, "admins", adminRequestDoc.data().uid), {
name: adminRequestDoc.data().name,
email: adminRequestDoc.data().email,
uid: adminRequestDoc.data().uid
});
}
});
}https://stackoverflow.com/questions/70360764
复制相似问题