【问题标题】:Firebase Query all users with nested childs , with conditions (Nodejs)Firebase 使用条件查询所有具有嵌套子项的用户(Nodejs)
【发布时间】:2019-06-25 22:38:55
【问题描述】:

如何进行查询以向具有此结构的所有用户创建报告。我阅读了文档,但似乎我真的无法进行此类查询,例如:我想查询所有拥有活动动物保险的用户。

users
  uuid
   ...
   insurances -> Animals
                 1 -> state:active 
                           date:...
                 2 -> state:requested
                           date:...

  ...               

【问题讨论】:

  • 我建议使用 firestore 而不是实时数据库进行查询。
  • @Swoox 是的,我知道,但该项目是在 firebase 中构建的,现在无法迁移

标签: angular firebase firebase-realtime-database


【解决方案1】:

Firebase 查询在您查询的位置下的子节点的平面列表上运行。他们只能对每个直接子项下位于已知路径的值进行排序/过滤。

由于您的值低于insurances/Animals/???,因此无法查询这些值。

您通常需要通过以下方式之一解决此问题:

  1. 为查询创建所有动物的平面列表。此列表中的每个动物必须至少具有您要过滤的值,但可以是每个用户下的动物信息的完整副本。
  2. 为每个用户提供一个属性,表明他们是否有任何受保动物,或他们拥有的受保动物数量,并在您更新保险时更新。这样您就可以使用firebase.database().ref("users").orderByChild("insuredAnimalCount").startAt(1) 进行查询。

还可以在这里查看我的答案: Firebase Query Double Nested

【讨论】:

    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多