我最近实现了一个新功能,并在本地测试了我的应用程序。然而,我遇到了一个问题,我无法从对现有Firestore数据库的请求中收到任何反馈。在进入Firebase项目并访问Firestore时,我发现数据库及其所有现有文档和记录都不再可见。
这个问题对我的系统用户产生了负面影响,因为他们只能进行身份验证,但由于无法操作Firestore中的数据而无法从任何其他功能中受益。此外,它也阻碍了我的项目的进展,因为我无法在这种状态下测试新功能。
在这方面,我正在寻求熟悉这个主题的人的专业知识,以帮助我理解为什么Firestore中的数据库被删除。此外,我非常渴望知道是否有可能恢复数据库沿着所有文件和记录。丢失这些数据不是一种选择,它的恢复至关重要。
我试着联系谷歌,但还没有得到任何反馈。
使用代码段:
firebase.service.ts
async getCustomerProjects(customerId) {
const querySnapshot = await this.db
.collection("projects", (ref) =>
ref.where("customer", "==", customerId)
)
.get()
.toPromise();
const projects = [];
querySnapshot.forEach((doc) => {
const project: any = doc.data();
project.id = doc.id;
projects.push(project);
});
return projects;
}
字符串
- integration.component.ts*
this.customerSubscription = this._storageService
.getSelectedCustomer()
.subscribe(async (customer) => {
this.selectedCustomer = customer;
if (customer) {
const customerProjects = await this.firebaseService.getCustomerProjects(customer.id);
this.showContent = false;
if (customerProjects.length > 0) {
this.showSelectProject = true;
this.showCustomerHasNoProject = false;
this.showProjectHasNoCampaign = false;
} else {
this.showSelectProject = false;
this.showCustomerHasNoProject = true;
this.showProjectHasNoCampaign = false;
}
}
});
型
1条答案
按热度按时间9ceoxa921#
Firestore/Firebase永远不会自动删除您的数据库。这不是一个东西。
你应该调查的更可能的原因/事情:
过去没有(对于您目前的情况可能仍然没有)任何方法来恢复此类已删除的数据。但是Firestore刚刚在预览版中启动了Point in Time Recovery (PiTR),它(一旦配置)可以保留任何写入/删除的文档的备份副本-然后您可以恢复长达一周。
请注意,所有这些仅适用于数据库中的数据,而不适用于数据库本身。我唯一能想到的是,你的数据库以某种方式进入了一个破碎/标记状态,但你应该在控制台中看到一些指示-或者在浏览器的网络选项卡中看到错误消息。