Database 选择Firestore集合中的所有其他文档

Database 选择Firestore集合中的所有其他文档,database,firebase,google-cloud-platform,google-cloud-firestore,data-modeling,Database,Firebase,Google Cloud Platform,Google Cloud Firestore,Data Modeling,我想知道如何检索Firestore集合中的所有其他文档。我有一个包含日期字段的文档集合。我想按日期对它们进行排序,然后从已排序集合中的每个X大小的块中检索1个文档。我大约每10秒添加一个新文档,我试图在前端显示历史数据,而不必下载这么多记录。当然可以,只需提前计划即可 随机抽样 我们称之为“随机抽样”,因此在编写文档时需要确定抽样率。假设您希望大约每10个文档中抽取1个样本(但严格来说不是每10个文档抽取1个样本) 编写文档时,添加名为sample-10的字段,并将其设置为random(1,10

我想知道如何检索Firestore集合中的所有其他文档。我有一个包含日期字段的文档集合。我想按日期对它们进行排序,然后从已排序集合中的每个X大小的块中检索1个文档。我大约每10秒添加一个新文档,我试图在前端显示历史数据,而不必下载这么多记录。

当然可以,只需提前计划即可

随机抽样 我们称之为“随机抽样”,因此在编写文档时需要确定抽样率。假设您希望大约每10个文档中抽取1个样本(但严格来说不是每10个文档抽取1个样本)

编写文档时,添加名为
sample-10
的字段,并将其设置为
random(1,10)
。在查询时间上,将
。其中(“sample-10”,“=”,random(1,10))
添加到查询中

非随机抽样 当您的写入源是分布式的(例如,许多移动设备)时,这就更难了,所以我在这里不讨论它

例如,如果写入来自单个源,则可能是从单个源绘制传感器数据。只需增加输入到
sample-10
模10中的值,这会更容易

其他抽样率
对于不同的
n

采样率,您需要单独执行
sample-n
,这取决于您要显示文档中的数据量。如果您试图为图形显示时间序列数据,我们会通过将新的Cloud Firestore写入流式传输到Cloud Dataflow/Apache Beam(使用云函数)来执行类似的操作。您签出了吗?不是每隔10秒或更长时间返回一个文档,而是返回下一个文档,这对您有效吗?您可能可以使用limit(1)和startAfter()的某种组合来实现这一点。