iT邦幫忙

2022 iThome 鐵人賽

DAY 24
0
Modern Web

Node.js 從零開始系列 第 24

Node.js - 限制資料筆數 limit()

  • 分享至 

  • xImage
  •  

node

limit 語法在 Firebase API 會看到兩個,一個是取得前幾筆資料,跟取得後幾筆資料,使用的資料如下:

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

db

limitToFirst 從前面取得資料、limitToLast 從後面取得資料

延續前面的資料內容,這次想從前面取得資料內容,條件是用 job 屬性排序,並且從 boy 開始取,然後只取得第一筆為男孩的資料,寫法如下:

sort.js

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

limitToFirst

limitToLast() 就是從後面取得資料。這邊就不做示範,而不管是從前面取資料還是從後面取資料,其內參數都可以按照自己想要的設定,要注意的是如果資料是給字串,就不能給數字喔!


上一篇
Node.js - 搜尋區間 startAt()、endAt()、equalto()
下一篇
Node.js - 使用 reverse() 反轉資料排序
系列文
Node.js 從零開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言