珠海網站建設網 - 網站建設、網站制作、手機建站、網站設計正規的網絡公司   
珠海網站建設網珠海網站建設公司 - 品牌建站
只幫客戶做賺錢的營銷型企業網站,讓企業主輕輕松松賺錢!

在中國,有 06815 家企業正在使用我們提供的各項服務!

微信《小程序·云》實時數據推送支持實時推送變更數據的能力

發布時間:2019/9/10閱讀次數:5834來源:珠海網站建設網 [ 網訊互聯 ][ 微信小程序 ] [ 我要投稿 ]

微信《小程序·云》實時數據推送支持實時推送變更數據的能力【珠海微信小程序定制開發電話:400-000-1280】為了進一步提高在即時通信、實時數據更新和推送等場景下的開發效率,小程序·云開發新增實時數據推送能力。開發者在小程序端給定查詢條件后,每當查詢結果發生變更時,小程序可收到一個更新事件,實時獲取更新內容。實時數據推送可被廣泛地應用于棋牌類等回合制小游戲、在線協作文檔以及團隊任務管理等場景。

微信《小程序·云》實時數據推送支持實時推送變更數據的能力

微信《小程序·云》實時數據推送支持實時推送變更數據的能力


介紹

云開發數據庫支持實時推送變更數據的能力,給定查詢條件,每當數據庫更新而導致查詢條件對應的查詢結果發生變更時,小程序可收到一個更新事件,其中可獲取更新內容和更新后的查詢結果快照。

實時數據推送有廣泛應用場景,此處是一些示例:

  1. 聊天/即時通信:小游戲內聊天、大廳廣播、區服廣播等;企業內部小程序中的即時通信能力等
  2. 多人小游戲:使用狀態同步的小游戲,如棋牌類等回合制游戲
  3. 協作工具:如在線協作文檔、團隊任務管理等
  4. 實時應用狀態同步:以信息流為例,可以實時獲取最新文章、以及最新評論、點贊、通知等內容,讓交互更順暢自然

監聽

調用 Collection 上的 watch 方法即可監聽給定查詢條件對應的數據:

const db = wx.cloud.database() const watcher = db.collection('todos').where({ team: 'our dev team' }).watch({ onChange: function(snapshot) { console.log('docs\'s changed events', snapshot.docChanges) console.log('query result snapshot after the event', snapshot.docs) console.log('is init data', snapshot.type === 'init') }, onError: function(err) { console.error('the watch closed because of error', err) } }) // ... // 等到需要關閉監聽的時候調用 close() 方法 watcher.close() 

onChange  onError 是必傳參數。onChange 用于接收變更快照,onError 用于處理監聽錯誤。如果監聽發起失敗或監聽過程中出現不可恢復的錯誤,則會終止監聽并通過 onError 拋出異常。onChange 會在第一次監聽初始化及后續數據變更時收到推送事件。第一次初始化時會收到的查詢條件對應的查詢結果(此處不會有默認 20 條上限,包含集合中所有滿足查詢條件的記錄),后續變更事件會包含變更內容和變更后的查詢結果快照。

onChange 收到的 snapshot 變更快照中帶有如下字段:

字段 類型 說明
docChanges ChangeEvent[] 更新事件數組
docs object[] 數據快照,表示此更新事件發生后查詢語句對應的查詢結果
type string 快照類型,僅在第一次初始化數據時有值為 init
id number 變更事件 id

ChangeEvent 記錄變更事件的內容包括:

字段 類型 說明
id number 更新事件 id
queueType string 列表更新類型,表示更新事件對監聽列表的影響,枚舉值,定義見 QueueType
dataType string 數據更新類型,表示記錄的具體更新類型,枚舉值,定義見 DataType
docId string 更新的記錄 id
doc object 更新的完整記錄
updatedFields object 所有更新的字段及字段更新后的值,key 為更新的字段路徑,value 為字段更新后的值,僅在 update 操作時有此信息
removedFields string[] 所有被刪除的字段,僅在 update 操作時有此信息

DataType 枚舉值

枚舉值 說明
init 初始化數據
update 記錄內容更新,對應 update 操作
replace 記錄內容被替換,對應 set 操作
add 記錄新增,對應 add 操作
remove 記錄被刪除,對應 remove 操作

QueueType 枚舉值

枚舉值 說明
init 初始化列表
update 列表中的記錄內容有更新,但列表包含的記錄不變
enqueue 記錄進入列表
dequeue 記錄離開列表

變更事件會細分記錄數據變更類型 dataType 和監聽列表變更類型 queueType,其可能的搭配和意義如下。

dataType queueType 說明
init init 監聽開始時的初始化數據
update update 記錄部分更新,更新后仍在查詢結果列表中
update enqueue 記錄部分更新,更新后進入查詢結果列表
update dequeue 記錄部分更新,更新后離開查詢結果列表
replace update 記錄被替換,更新后仍在查詢結果列表中
replace enqueue 記錄被替換,更新后進入查詢結果列表
replace dequeue 記錄被替換,更新后離開查詢結果列表
add enqueue 記錄是新增記錄,新增后進入查詢結果列表
remove dequeue 記錄被刪除,離開查詢結果列表

注意事項與系統限制

監聽返回的數據不受默認 20 條限制

監聽返回的數據可能超過 20 條,不受小程序端默認 20 條上限限制。

監聽暫只支持 where 語句

監聽暫僅支持 where 語句,不支持 orderBy、limit、field 等語句。

監聽記錄數限制

一次監聽的記錄數上限為 5000,若超出上限會拋錯并停止監聽。監聽過大量的數據時初始化會較慢,對監聽效率也有影響,如果預期監聽發起時少于 5000,但后續有可能超過 5000,請注意在即將超過時重新監聽并保證不超過 5000。

最佳實踐

只監聽必要的數據

監聽時應明確查詢條件,只監聽必須用到的數據,避免監聽不必要的數據,以此提高初次加載數據的性能以及接收數據變更的性能。



以上內容由珠海網站建設(網訊互聯)為您提供!更多有關網站建設、網站設計、網站制作、微信營銷、微官網、手機網站建設、營銷型網站建設、微信小程序等互聯網應用服務都可以聯系我們!建站熱線:400-000-1280

您想咨詢企業網站建設流程和報價嗎?
您是否有考慮過打造賺錢營銷型企業網站?
移動互聯網+都這么熱門了,您還沒有4G手機網站嗎?
您想要讓您的產品和服務出現在搜索引擎首頁嗎?
您想獲得企業網站整體運營推廣解決方案嗎?
不說了~ 拿起手機掃碼溝通,您懂得! ^_^
珠海網站建設公司微信二維碼
嘚啵嘚啵一句:加微信時請告知尊姓大名
本文關鍵詞:小程序云,微信小程序云,小程序實時數據推送
本文鏈接:http://www.insighttravelasia.com/webnews/683.html
熱門標簽
      珠海網站建設網,微信小程序/企業網站建設綜合服務平臺
  • 您只需要告訴我們需要什么樣的產品,網訊互聯團隊將為您打造一站式互聯網綜合應用平臺!
立即咨詢在線客服

網站建設

為什么要選擇網訊互聯

工商實名驗證
證照齊全 正規公司 誠信經營
公平交易 滿意后付款
價格公開透明 倡導理性消費
無風險,免費ICP備案
開具正規發票 免費網站備案
無風險,全額退款
沒有有效稿件 承諾全額退款
      網訊互聯企業郵箱
  • 請將#換成@
web#zhgov.com
首頁 | 關于我們 | 新聞中心 | 支付方式 | 我要加盟 | 我要爆料 | 我要合作 | 我要做網站 | 我要備案 | 網站地圖 | 友情鏈接 | 在線客服 | 聯系方式
Copyright ? 2007-2022 珠海市網訊互聯信息科技有限公司 [ 珠海網站建設網 ] www.insighttravelasia.com , All Rights Reserved. TAGS 新聞地圖 粵ICP備19117377號-1
【珠海網站建設網】企業網站建設、網站制作、網站設計、營銷型網站建設、外貿網站制作、手機網站制作、微信營銷、微官網、微信小程序、云主機等服務提供商 ^_^
聯系地址:廣東省珠海市香洲區香海路129號 咨詢電話:400-000-1280(一按幫您) 傳真:0756-3130945 業務郵箱:[ 馬上寫信咨詢 ] 業務QQ:79535318
工商注冊號工業和信息化部粵ICP備12038494號粵公網安備 44040202000391號 眾信驗證 百度信譽V官網認證 安全聯盟實名驗證
在線客服
? 被男狂揉吃奶胸60分钟视频