具有自定义文档ID的Firestore文档不会被获取

时间:2019-03-09 12:31:35

标签: android google-cloud-firestore

这是具有自定义文档ID的Firestore集合,该ID实际上是日期(以字符串形式)。这种自定义ID的目的是获取特定日期的文档。

enter image description here

以下是代码:

a   b
3   1
1   3
2   2

enter image description here 这是Logcatlog日志,其中task.getResult()。getDocuments()。size()返回 0 ,它应该返回 3 ,因为我在集合中有3个文档。

2 个答案:

答案 0 :(得分:1)

文档 在Firestore中实际上可以为空,这意味着 可能有没有数据的文档,并且您的代码会加载该文档。

但是,在这种情况下,您可以在屏幕快照中看到1-4-2019文档名称显示在斜体中,这意味着该文档不存在。控制台仅在列表中显示此名称,因为该路径下有子集合。而且由于文档1-4-2019不存在,因此在加载所有文档时不会将其返回。

简而言之:

  • 文档可以为空,这意味着您可以拥有一个没有任何数据字段的文档。
  • 从集合中读取所有文档时,将返回所有文档(包括空文档)
  • 如果在路径下存在子集合,而该路径下没有文档,则Firestore控制台将以斜体显​​示该不存在的文档标题。
  • 从集合中读取所有文档时,不返回任何文档。

另请参阅:

答案 1 :(得分:0)

问题已解决。如果Firestore文档中没有任何字段,则CollectionReferece#get()方法将跳过这些文档。

enter image description here