Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 查询Firebase变得越来越痛苦_Android_Firebase_Firebase Realtime Database_Querying - Fatal编程技术网

Android 查询Firebase变得越来越痛苦

Android 查询Firebase变得越来越痛苦,android,firebase,firebase-realtime-database,querying,Android,Firebase,Firebase Realtime Database,Querying,在过去的3个月里,我与Firebase一起工作,使我的数据“散开”,每天都在管理冗余数据,我现在感觉自己好像编码过度了 我通常制作日志应用程序。记录小时分钟。这就是它的作用 每个用户都通过谷歌认证注册。数据保存在“/users/[users]”中 然后他们进一步创建一些助手或工人,他们的时间被记录下来 工人保存为“/Workers/userID/[Workers] 日志:选择一个工作人员,并在两个位置添加他的日志 /logs/userId/[logs](用于计算每月统计数据) /worker_

在过去的3个月里,我与Firebase一起工作,使我的数据“散开”,每天都在管理冗余数据,我现在感觉自己好像编码过度了

我通常制作日志应用程序。记录小时分钟。这就是它的作用

  • 每个用户都通过谷歌认证注册。数据保存在“/users/[users]”中
  • 然后他们进一步创建一些助手或工人,他们的时间被记录下来
  • 工人保存为“/Workers/userID/[Workers]
  • 日志:选择一个工作人员,并在两个位置添加他的日志
  • /logs/userId/[logs](用于计算每月统计数据)
  • /worker_日志/workerId/[logs](用于计算基于每个工人的统计数据)
这对我很管用。。 但现在我正在将这个应用程序从生产力应用程序转变为协作应用程序。 用户可以在其中相互连接并请求或批准日志

一个用户添加的日志由另一个用户审核和批准/拒绝。 这就是当日志使用此新逻辑时发生的情况

  • 用户再次选择一个现在链接到用户ID的工作者(通常是工作者类中的linkedUser字段)
  • 日志已添加到/logs/userid/
  • 日志被添加到/worker\u日志/workderid/
  • 日志已添加到/logs/otherUserId/
  • 一旦他批准,它就会被添加到/worker\u log/otherUserWorker/ 但在此之前,我需要一个通知屏幕。这是我在firebase工作了这么多天后感到沮丧的地方(我还在firebase的其他项目上工作)
我想查询一个recyclerview

从/logs/myUserid/中选择logs,其中logs.date介于1dec16和1dec16之间 2016年12月31日和{(logs.createdby=“not me”和logs.status=unapproved)或 (logs.createdby=“me”和logs.status=拒绝)}


重点是,我不想维护更多的日志冗余(放入不同的bucket,即/log/approved等,并对其进行管理)。在Firebase中查询数据时,我并没有取得任何突破。
我也觉得文档并没有多大帮助。

“重点是我不想再维护日志冗余”听起来你已经有了答案。为了让firebase更快,你有时必须复制数据以便于查询。“重点是我不想再维护日志冗余。”“听起来你已经有答案了。为了使firebase变得快速,您有时必须复制数据以使其更易于查询。