Firebase查询具有条件的嵌套子项的所有用户(Nodejs)

时间:2019-02-01 10:53:20

标签: angular firebase firebase-realtime-database

我怎样才能让查询以创建与此结构中的所有用户的报告。我阅读了文档,但是似乎我无法真正进行此类查询,例如:我想查询所有拥有活动动物保险的用户。

promo1id=SHIP

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

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

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

也请在这里查看我的答案: Firebase Query Double Nested