Firebase Firestore-如何按时间(在本例中按小时)聚合数据?
我想在独特的访客图上生成一个如下所示的实时图(有点像google analytics)。 经过一些调查,我注意到Firestore不支持SQL中的分组方式 在下面的示例数据中,no.1和no.3在同一个小时内,但具有相同的用户_id=1。所以它应该算作1,而不是2。因此,10:00时访问“pen.com”网站的人数是1 我如何为site count unique Visitions时间序列聚合此数据,以我正在进行的按小时分组用户id的示例为例?有没有办法做到这一点,因为我看到谷歌分析可以做到这一点,即使在几秒钟内() 下面是示例数据,我想聚合数据以显示下图。我绘制的图表是基于这个样本数据的Firebase Firestore-如何按时间(在本例中按小时)聚合数据?,firebase,firebase-realtime-database,group-by,google-cloud-firestore,google-cloud-functions,Firebase,Firebase Realtime Database,Group By,Google Cloud Firestore,Google Cloud Functions,我想在独特的访客图上生成一个如下所示的实时图(有点像google analytics)。 经过一些调查,我注意到Firestore不支持SQL中的分组方式 在下面的示例数据中,no.1和no.3在同一个小时内,但具有相同的用户_id=1。所以它应该算作1,而不是2。因此,10:00时访问“pen.com”网站的人数是1 我如何为site count unique Visitions时间序列聚合此数据,以我正在进行的按小时分组用户id的示例为例?有没有办法做到这一点,因为我看到谷歌分析可以做到这一
跟踪谷歌分析可能使用BigQuery而不是Firestore Firestore是一个NoSQL数据库,由于它的结构,您不能使用group by和类似的增加复杂性的运算符,因为这不是它的本意() 对于您在问题中描述的用例,我宁愿选择SQL数据库,比如CloudSQL,因为它是非常结构化的数据
如果您仍然想使用Firestore进行此操作,也许您可以尝试使用,但请注意,它存在一些限制,并且您想要成为的东西可能也不可能使用它 谷歌分析可能使用BigQuery而不是Firestore Firestore是一个NoSQL数据库,由于它的结构,您不能使用group by和类似的增加复杂性的运算符,因为这不是它的本意() 对于您在问题中描述的用例,我宁愿选择SQL数据库,比如CloudSQL,因为它是非常结构化的数据
如果您仍然想使用Firestore进行此操作,也许您可以尝试使用,但请注意,它存在一些限制,并且您想要成为的东西可能也不可能使用它 我已经放弃了这个想法,直到有一个真正的解决方案,时间序列似乎有点太难了,我相信他们必须认真研究一些事情。我正在迁移回SQL。我已经放弃了这个想法,直到有一个真正的解决方案,时间序列似乎有点太难了,我相信他们必须认真研究一些事情。我正在迁移回SQL。
(10:00 hour)
1. document(aaa123) <----------- inside 10:00 hour same place "pen.com"
user_id = 1
site_unique_identifier = "pen.com"
timestamp = 10/09/2019 10:11
2. document(xyz567)
user_id = 2
site_unique_identifier = "hex.com"
timestamp = 10/09/2019 10:15
3. document(qqq123) <----------- inside 10:00 hour same place "pen.com"
user_id = 1
site_unique_identifier = "pen.com"
timestamp = 10/09/2019 10:18
4. document(xyz567)
user_id = 3
site_unique_identifier = "hex.com"
timestamp = 10/09/2019 10:19
5. document(fff567)
user_id = 4
site_unique_identifier = "hex.com"
timestamp = 10/09/2019 10:19
(11:00 hour)
6. document(xxx123)
user_id = 1
site_unique_identifier = "hex.com"
timestamp = 10/09/2019 11:21
7. document(zzz123)
user_id = 2
site_unique_identifier = "hex.com"
timestamp = 10/09/2019 11:22
8. document(ggg123)
user_id = 2
site_unique_identifier = "pen.com"
timestamp = 10/09/2019 11:24
10:00
- pen.com - 1
- hex.com - 3
11:00
- pen.com - 1
- hex.com - 2