Google cloud firestore Firestore DB-以斜体显示的文档
有人能给我解释一下吗。我正在使用github中firestore的节点firestore备份还原主备份脚本。让它工作了,但它只读取我收藏的文档列表中的一个文档。它读取的是普通文本,其余的是斜体,斜体的消息表示它们不存在,不会出现在查询中 它们确实存在,并且在我从IOS应用程序(而不是Node.js备份脚本)进行查询时显示相关文档和字段 有什么想法吗??Google cloud firestore Firestore DB-以斜体显示的文档,google-cloud-firestore,firebase-console,Google Cloud Firestore,Firebase Console,有人能给我解释一下吗。我正在使用github中firestore的节点firestore备份还原主备份脚本。让它工作了,但它只读取我收藏的文档列表中的一个文档。它读取的是普通文本,其余的是斜体,斜体的消息表示它们不存在,不会出现在查询中 它们确实存在,并且在我从IOS应用程序(而不是Node.js备份脚本)进行查询时显示相关文档和字段 有什么想法吗?? Dave如果您使用子文档创建文档,然后从SDK中删除顶级文档,则删除不是递归的。因此,尽管顶级文档已经消失,但其子文档仍然存在 这些文档的文档I
Dave如果您使用子文档创建文档,然后从SDK中删除顶级文档,则删除不是递归的。因此,尽管顶级文档已经消失,但其子文档仍然存在 这些文档的文档ID在UI中显示为斜体ID:这些文档实际上不存在,但我们显示它们以便您可以导航到子集合
由于不再有文档,文档本身将不会显示在查询结果中。如果您需要在查询结果中查找此文档,则需要创建一个空文档作为解决方法。这在两种情况下发生:
- 第一步。创建:/collection/文档(1)
- 第二步。创建:/collection/document(1)/collection/document(2)
看起来,如果你在这些情况下,你不能列出“文档(1)”,这是一种非常奇怪的工作方式,因为它们不是以“文档”的形式存在的(这是它们以“斜体”标记的方式),而是作为子集合的引用“存在”。在firestore中,文档以斜体显示是因为
Map<String ,Object> dummyMap= new HashMap<>();
DocumentReference df=db.collection("col1").document("doc1");
df.set(dummyMap); // add empty field, wont shown in console
df.collection("your collection name");
Map dummymmap=newhashmap();
DocumentReference df=db.集合(“col1”).文档(“doc1”);
df.set(dummyMap);//添加空字段,不会在控制台中显示
收藏(“您的收藏名称”);
dummyMap和您的收藏在同一文档“doc1”中。您是否可以添加任何建议来处理这种情况?如何以编程方式获取这些文档(使用cronjob删除或重新分配它们)?任何想法都是有用的。是的,我面对了这个问题,并通过递归批量删除操作解决了它。。(在更深层次上,您可以将此递归批删除操作移动到firebase云函数,以便它在云上运行,而您的前端应用程序不会受到任何影响)我不认为有一个API可以获取“所有只包含子集合的文档引用”。相反,我建议使用相反的方法:在删除子集合的“包含”文档时删除所有子集合。了解第2点将集合和文档添加到空文档将产生此结果,这非常有帮助。谢谢