Firebase 如何列出对象';按排序的数组属性?

Firebase 如何列出对象';按排序的数组属性?,firebase,firebase-realtime-database,polymer,Firebase,Firebase Realtime Database,Polymer,每个用户都有一些专业人员: users idxxx -A -prof: name: x name: y idyyy -B -prof: name :y name :z name :x 如何按名称顺序对prof数组列表进行排序。 比如: prof list: x (2)

每个用户都有一些专业人员:

users  idxxx 
           -A
           -prof: name: x
                  name: y
       idyyy
           -B
           -prof: name :y
                  name :z
                  name :x
如何按名称顺序对prof数组列表进行排序。
比如:

prof list: 
x (2)               
y (2)               
z (1)

您应该取消数据模型的规范化,即在数据库中创建一个专用的额外“proflist”节点,在创建新用户时增加相应专业的数量

实际上,这与你解释问题的方式是一致的


更好地使用此处详述的事务

您应该取消数据模型的规范化,即在数据库中创建一个专用的额外“proflist”节点,在创建新用户时,您将增加相应专业的数量

实际上,这与你解释问题的方式是一致的


更好地使用此处详述的事务

更好的替代结构将缓解此问题

user_01
  -name: A
  -professors
     -YUik99j9s
         name: "prof name 0"
     -YJ89jk9sk
         name: "prof name 1"
然后读入节点

ref = "user_01/professors"


请注意,professor子密钥(-YUik99j9s和-YJ89jk9sk)是根据平台使用push()或childByAutoId创建的。

更好的替代结构将缓解此问题

user_01
  -name: A
  -professors
     -YUik99j9s
         name: "prof name 0"
     -YJ89jk9sk
         name: "prof name 1"
然后读入节点

ref = "user_01/professors"


请注意,professor子键(-YIK99J9S和-YJ89jk9sk)是根据平台使用push()或childByAutoId创建的。

问题中给出的结构无效。节点中不能有名称重复的键-我提到了这一点,因为即使它们不同,也不是数组,除非它们按顺序编号。注意,您不能对Firebase阵列进行排序或排序。这是一个“东西”,不能单独访问元素。请参阅我的答案以获取替代方案。问题中呈现的结构无效。节点中不能有名称重复的键-我提到了这一点,因为即使它们不同,也不是数组,除非它们按顺序编号。注意,您不能对Firebase阵列进行排序或排序。这是一个“东西”,不能单独访问元素。请参阅我的答案以获取替代方案。