Dav*_*ski 9 firebase-console google-cloud-firestore
谁可以给我解释一下这个.我正在使用github上的firestore的node-firestore-backup-restore-master备份脚本.有它工作,但它只读取我在集合中的文档列表中的一个文档.它读取的是普通文本,其余的是斜体,斜体字的消息说它们不存在,不会出现在查询中.
它们确实存在以及我从IOS应用程序查询但不从Node.js备份脚本查询时出现的相关文档和字段.
有什么想法吗??戴夫
如果使用子文档创建文档,然后从SDK中删除顶级文档,则删除不是递归的.因此,虽然顶级文档已经消失,但其子文档仍然存在.
这些文档的ID在UI中显示为斜体ID:这些文档实际上并不存在,但我们会显示它们,以便您可以导航到子集合.
由于没有文档,文档本身不会显示在查询结果中.
这发生在两种情况下:
如果您删除带有子集合的文档
如果您直接创建类似“/collection/document(1)/collection/document(2)”的内容,而不是分两步创建:
并且看起来如果您处于这些情况中的任何一种,您都无法列出“文档(1)”,这是一种非常奇怪的工作方式,因为它们不作为“文档”存在(这是它们以“斜体”标记的方式) ) 但它们“存在”作为对子集合的引用。
小智 8
在 firestore 中,文档以斜体显示,因为,
斜体文档不会显示在您的应用程序中,无法获取,唯一的方法是直接指定文档的确切路径和名称。
解决方案:
与其只向空文档添加一个集合,不如在添加集合之前在该文档中添加一个空字段。
在 android 中,我向该字段添加了一个空的哈希映射。但不会显示在数据库中 这是我的示例代码:
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");
Run Code Online (Sandbox Code Playgroud)
dummyMap 和您的集合位于同一个文档“doc1”中。
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |