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阵列进行排序或排序。这是一个“东西”,不能单独访问元素。请参阅我的答案以获取替代方案。