Firebase 資料排序

這裡要來說明資料在 firebase 時,如何能依照指定的屬性數值大小,從小到大做排序

寫入資料到 firebase

首先,先把資料寫入到 firebase,格式會如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let people = {
'bob': {
weight: 45,
age: 20
},
'John': {
weight: 50,
age: 15
},
'mike': {
weight: 60,
age: 30
}
};

let peopleRef = firebase.database().ref('people');
peopleRef.set(people);

運用 .orderByChild() 搭配 .forEach() 把資料做排序

假設現在我們希望資料的排序能依照 age 屬性的值從小到大做排序的話,可以運用 .orderByChild() 搭配 .forEach()

1
2
3
4
5
peopleRef.orderByChild('age').once('value', function(snapshot) {
snapshot.forEach(function(item) {
console.log(item.val());
});
});

這時候在 console 看,資料就會照我們期望的樣子做排序


.orderByChild() 排序規則

.orderByChild() 有一套排序規則,當今天每一筆資料的屬性內的值,若型別都不一樣時,排序規則會如下:

  1. null
  2. false
  3. true
  4. number 從小到大
  5. 字串
  6. 其他: 例如物件

這裡附上連結