Supabase的實時更新 | Subscribe to channel

更新於 發佈於 閱讀時間約 5 分鐘
raw-image

在網頁裡直接監聽資料庫的變化吧!

這個聽起來需要複雜工程的事情,在supabase的幫助之下就可以解決,串接好後只要資料庫中的資料發生變化,supabase會自動把最新資料發送到前端頁面,可以讓使用者即時收到最新資訊,省去重複刷新頁面,提供使用者體驗。

嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。

介紹實時更新

在supabase中的實時更新總共有3種事件可以監聽,分別是廣播、聊天室和資料庫變化,這三種事件是主要的大項目,內部也細分成多種更精確的事件,可以按照應用程式的類型監聽變化,本文會介紹最常使用的資料庫變化。

設定實時更新

開啟功能

想要設定實時更新的這個功能必須要先去後台開啟才能使用,預設選項是關閉的,首先需要先在專案後台前往database頁籤的Replication頁面。

raw-image

在頁面右邊可以看到目前資料實時更新的狀態,重點是右邊的0tables這裡,目前沒有任何表格有開啟這個功能所以是0個,點進去開啟。

raw-image

點進去以後就把剛剛的表格點擊開啟。

raw-image

到這裡就完成開啟實時訂閱的設定,接下來就可以在網頁中訂閱表格更新的變化。

串接實時更新

在先前的文章中已經把一些新增修改刪除都串接完成,現在就來訂閱資料的內容更新事件,模仿真實情境中多人協作的時候,某項待辦事項內容更新的狀況。

那首先就是在網頁中新增以下內容,註冊表格更新事件。

supabase.channel('todos').on(
'postgres_changes',
{
event: 'UPDATE',
schema: 'public',
table: 'todos'
},
(event) => {
console.log(event)
}
).subscribe()

在channel裡面填入自己命名的名稱,on接受三個參數,第一個是指定訂閱的事件名稱,前面有說有3大項,這裡就填入postgres_changes,第二個選項是filter的概念,透過指定事件類型、表格名稱的方式,在源頭過濾掉其他不相干的事件以提升程式效能,第三個變數則是callback,在訂閱的事件被觸發的時候要執行的事情在這裡執行。

註冊完成事件以後只要更新資料欄位is_complete的值時,就可以收到更新事件並顯示在console裡面,收到的資料格式如下。

{
"schema": "public",
"table": "todos",
"commit_timestamp": "2023-08-22T08:37:53.091Z",
"eventType": "UPDATE",
"new": {
"id": 6,
"inserted_at": "2023-08-16T09:46:05.017571+00:00",
"is_complete": true,
"task": "task 2",
"user_id": "9fe1408a-b5d8-4fd8-92aa-0c631e514c29"
},
"old": {
"id": 6
},
"errors": null
}

後續只要在事件中先過濾掉使用者自己觸發的資料更新事件就可以完整接收到其他人更新資料的事件。

總結

supabase的實時更新功能打破了過往前後端合作的印象,讓前端能更快而且容易的上手。透過supabase實時更新的功能訂閱資料的變化,可以讓前端很輕鬆地打造出多人聊天室,或是多人協作平台。

有興趣的內容

有用的資料

留言
avatar-img
留言分享你的想法!
鼻爾蓋茲-avatar-img
發文者
2023/10/05
Supabase的Webhooks|Webhooks in Supabase提及了這篇文章,趕快過去看看吧!
鼻爾蓋茲-avatar-img
發文者
2023/09/28
Supabase客戶端間實時更新|Presence in Supabase提及了這篇文章,趕快過去看看吧!
鼻爾蓋茲-avatar-img
發文者
2023/09/08
Supabase的關聯表格、外來鍵 | Foreign Key提及了這篇文章,趕快過去看看吧!
avatar-img
技術叢林
6會員
23內容數
沙龍新手
技術叢林的其他內容
2023/10/05
前面文章有說明過訂閱資料庫的更新事件,讓前端畫面能夠收到更新資訊即時反應在用戶面前,那接下來要介紹Supabase的Webhooks則是能讓其他server端收到資料庫事件的通知。 這裡簡單說明一下Webhooks,一般來說是由前端主動呼叫後端API,取回資料,Webhooks則是由後端伺服器觸發某
Thumbnail
2023/10/05
前面文章有說明過訂閱資料庫的更新事件,讓前端畫面能夠收到更新資訊即時反應在用戶面前,那接下來要介紹Supabase的Webhooks則是能讓其他server端收到資料庫事件的通知。 這裡簡單說明一下Webhooks,一般來說是由前端主動呼叫後端API,取回資料,Webhooks則是由後端伺服器觸發某
Thumbnail
2023/09/28
本篇文章又要介紹Supabase好用的實時更新功能,叫做Presence。Presence是 Supabase 提供的一項實時更新功能,讓開發者能夠輕鬆實現用戶之間的實 嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supa
Thumbnail
2023/09/28
本篇文章又要介紹Supabase好用的實時更新功能,叫做Presence。Presence是 Supabase 提供的一項實時更新功能,讓開發者能夠輕鬆實現用戶之間的實 嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supa
Thumbnail
2023/09/15
Supabase是使用PostgreSQL作為資料庫,所以當然也具有Storage的功能,能夠儲存用戶的圖片或是檔案,一樣可以設定讀取權限相當方便,一起瞭解如何操作。 從後台的大頁籤就可以進去Storage頁面,頁面和資料庫表格有點類似,如果有新增任何buckets就會顯示在All buckets的
Thumbnail
2023/09/15
Supabase是使用PostgreSQL作為資料庫,所以當然也具有Storage的功能,能夠儲存用戶的圖片或是檔案,一樣可以設定讀取權限相當方便,一起瞭解如何操作。 從後台的大頁籤就可以進去Storage頁面,頁面和資料庫表格有點類似,如果有新增任何buckets就會顯示在All buckets的
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
本篇文章又要介紹Supabase好用的實時更新功能,叫做Presence。Presence是 Supabase 提供的一項實時更新功能,讓開發者能夠輕鬆實現用戶之間的實 嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supa
Thumbnail
本篇文章又要介紹Supabase好用的實時更新功能,叫做Presence。Presence是 Supabase 提供的一項實時更新功能,讓開發者能夠輕鬆實現用戶之間的實 嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supa
Thumbnail
在前面的文章中已經在supabase中完成了基本的操作,甚至已經完成訂閱即時更新的功能,接著本篇文章要介紹的是如何在supabase裡設定與使用外來鍵,包含如何在客戶端撰寫查詢外鍵的SQL,馬上開始。如果還沒有閱讀實時更新功能文章的話可以點擊這裡去閱讀。 嗨歡迎閱讀我的文章!這是關於Supabase
Thumbnail
在前面的文章中已經在supabase中完成了基本的操作,甚至已經完成訂閱即時更新的功能,接著本篇文章要介紹的是如何在supabase裡設定與使用外來鍵,包含如何在客戶端撰寫查詢外鍵的SQL,馬上開始。如果還沒有閱讀實時更新功能文章的話可以點擊這裡去閱讀。 嗨歡迎閱讀我的文章!這是關於Supabase
Thumbnail
在網頁裡直接監聽資料庫的變化吧! 這個聽起來需要複雜工程的事情,在supabase的幫助之下就可以解決,串接好後只要資料庫中的資料發生變化,supabase會自動把最新資料發送到前端頁面,可以讓使用者即時收到最新資訊,省去重複刷新頁面,提供使用者體驗。 在supabase中的實時更新總共有3種事件
Thumbnail
在網頁裡直接監聽資料庫的變化吧! 這個聽起來需要複雜工程的事情,在supabase的幫助之下就可以解決,串接好後只要資料庫中的資料發生變化,supabase會自動把最新資料發送到前端頁面,可以讓使用者即時收到最新資訊,省去重複刷新頁面,提供使用者體驗。 在supabase中的實時更新總共有3種事件
Thumbnail
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase將為前端開發帶來創新、便利和效率。 什麼是Supabase? Supabase官網 Supabase是一個開源的後端服務平台,提供完全可
Thumbnail
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase將為前端開發帶來創新、便利和效率。 什麼是Supabase? Supabase官網 Supabase是一個開源的後端服務平台,提供完全可
Thumbnail
MongoDB非常擅長查詢大量的數據並經常更新這些資訊, 在多數的情況之下, 我們只要查詢資訊最新的狀態, 那假設我們需要查詢資料的上一個狀態呢? 如果我們需要一些文檔版本控管功能時怎麼辦呢? 這就是我們可以使用版本控管設計模式的地方了。 這個模式之下會保存文檔的歷史版本, 我們就不用導入另外一個版
Thumbnail
MongoDB非常擅長查詢大量的數據並經常更新這些資訊, 在多數的情況之下, 我們只要查詢資訊最新的狀態, 那假設我們需要查詢資料的上一個狀態呢? 如果我們需要一些文檔版本控管功能時怎麼辦呢? 這就是我們可以使用版本控管設計模式的地方了。 這個模式之下會保存文檔的歷史版本, 我們就不用導入另外一個版
Thumbnail
一切始於迭代 舊版個人區在時間的淬煉與服務的發展下,已經越來越多、越來越長,以讓大家更清楚查找使用優先,下階段也能擴充其他功能為目的,因此我們著手改造,接著來看看本次改動的範圍吧!
Thumbnail
一切始於迭代 舊版個人區在時間的淬煉與服務的發展下,已經越來越多、越來越長,以讓大家更清楚查找使用優先,下階段也能擴充其他功能為目的,因此我們著手改造,接著來看看本次改動的範圍吧!
Thumbnail
進入本篇章前建議您可以先了解以下兩個篇章,主要是介紹單向過程中的訂閱概念: 【Web微知識系列】訂閱技術的基石,RSS Feed是什麼? 【Web微知識系列】系統之間的訂閱機制,Webhook是什麼? 簡介 Websocket與TCP、HTTP的關係 為什麼要使用Websocket? 建立連接
Thumbnail
進入本篇章前建議您可以先了解以下兩個篇章,主要是介紹單向過程中的訂閱概念: 【Web微知識系列】訂閱技術的基石,RSS Feed是什麼? 【Web微知識系列】系統之間的訂閱機制,Webhook是什麼? 簡介 Websocket與TCP、HTTP的關係 為什麼要使用Websocket? 建立連接
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News