查找孤立的子集合文档

rib*_*rdb 7 google-cloud-firestore

firestore 文档说:

当您删除具有关联子集合的文档时,子集合不会被删除。它们仍然可以通过引用访问。例如,db.collection('coll').doc('doc').collection('subcoll').doc('subdoc')即使引用的文档db.collection('coll').doc('doc')不再存在,也可能存在引用的文档。

如果您丢失了参考资料,有什么方法可以访问这些文件db.collection('coll').doc('doc')吗?比如说客户端 A 离线,然后创建coll/doc/subcoll/foo. 然后服务器删除coll/doc它的子集合。稍后客户端 A 重新上线并同步 foo。看来现在我有办法知道 foo 存在并且正在浪费数据库中的空间。

dig*_*fee 0

可以访问这些文档。当用户删除文档时,将 ID 保存在某处。或者只需在 console.firebase.google.com 中查找文档 ID。如果您有已删除文档的 ID,您将能够获取子集合的文档。删除的文档 ID 在 Firebase 控制台中标记为斜体(如下所示)。

  • 我不小心将数百个此类文档混入了数千个真实文档中。手动查找并删除所有子集合并不是一个可行的解决方案。 (4认同)