limit 語法在 Firebase API 會看到兩個,一個是取得前幾筆資料,跟取得後幾筆資料,使用的資料如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| const data = { tim: { hight: 175, age: 38, weight: 77, job: "boy", }, min: { hight: 155, age: 39, weight: 55, job: "girl", }, joshua: { hight: 100, age: 3, weight: 13, job: "boy", }, carol: { hight: 80, age: 1, weight: 10, job: "girl", }, };
|
而從 Realtime Database 看到的資料順序如下:
Realtime Database
limitToFirst 從前面取得資料、limitToLast 從後面取得資料
延續前面的資料內容,這次想從前面取得資料內容,條件是用 job
屬性排序,並且從 boy
開始取,然後只取得第一筆為男孩的資料,寫法如下:
sort.js
1 2 3 4 5 6 7 8 9 10 11 12
| const ref = firebase.database().ref("home"); ref.set(data); ref .orderByChild("job") .startAt("boy") .limitToFirst(1) .once("value", function (snapshot) { snapshot.forEach((item) => { console.log(item.key); console.log(item.val()); }); });
|
檢查開發人員工具顯示結果,是否與預期相同。
dev tool
而 limitToLast()
就是從後面取得資料。這邊就不做示範,而不管是從前面取資料還是從後面取資料,其內參數都可以按照自己想要的設定,要注意的是如果資料是給字串,就不能給數字喔!