类型 'QueryDocumentSnapshot<DocumentData>' 没有调用 signatures.ts(2349)
Type 'QueryDocumentSnapshot<DocumentData>' has no call signatures.ts(2349)
我正在尝试创建一个表单来向我的项目添加更多管理员。
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 部分给我一个错误,即:
(参数)文档:QueryDocumentSnapshot 文档数据
这个表达式是不可调用的。
类型 'QueryDocumentSnapshot DocumentData ' 没有调用 signatures.ts(2349)
问题是为每个文档和函数都使用了文档名称。
更改了 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
});
}
});
}
我正在尝试创建一个表单来向我的项目添加更多管理员。
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 部分给我一个错误,即:
(参数)文档:QueryDocumentSnapshot 文档数据
这个表达式是不可调用的。 类型 'QueryDocumentSnapshot DocumentData ' 没有调用 signatures.ts(2349)
问题是为每个文档和函数都使用了文档名称。
更改了 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
});
}
});
}