1. 程式人生 > 實用技巧 >微信小程式雲開發資料庫查詢指南

微信小程式雲開發資料庫查詢指南

寫在前面

做小程式的開發已經有很長一段時間了,雖然是在寫,但是一直沒有去沉澱過,沒有去記錄過踩過的坑,這篇部落格作為一個導航,記錄一下我所遇到的坑(主要還是雲函式的資料庫查詢)

隨著不斷的更新,小程式的功能也是越來越完善,想當初,剛玩小程式雲開發的時候,雲開發提供的一個查詢環境還不支援$(Aggregate)_(Command),以及高階的查詢方法例如lookup,在現在也是都被修復了。。

寫這麼一系列部落格,也有一個原因,剛玩微信雲開發的時候看小程式雲開發的文件解釋的超級暈的。。。你看那個Aggregate聚合...一時間無法理解....(雖然後來看就好多了)


咳,閒扯就這麼多,本文章假定你已經能夠搭建一個雲函式、並且跑過一遍完全沒有問題(一般來說不會有問題的,建立的時候模板裡的把該配置的變數都配置了...)

...理論上可以在微信小程式的程式碼裡直接寫查詢....小程式貌似預設有這些方法的(具體還沒嘗試,如果可以,未來ts分層的時候,dao層就可以直接放查詢了2333)

然後...關於小程式的版本更新,當時做了一次程式碼重構,Node版本是8.9,後來因為外部需要雲開發的資料,又新寫了一組方法,node版本10.15。兩次的版本差距還是蠻大的(還是因為兩次用的查詢不一樣...具體未來說明)

正文

在瞭解高階查詢之前,我基本上都是靠多次查詢,大部分業務的處理都在Service層中處理的,我開始涉及高階查詢的契機是在一個業務的需求,要獲取一個時間範圍內的資料,而我儲存的時間格式是YYYY-mm-dd

,這意味著只有兩種方式完成查詢,一種是正則匹配,匹配年月(2020\-07),或者是對查詢的資料進行預處理,轉換成另一種有規律的格式,來實現複雜的查詢,這個方式會在後面說起。

對於基本的內容,我抽象出了一套方法,可以適用於大部分的增刪改,非常方便(有點類似於mybatis提供的一套基本的查詢方案,不過沒有jpa辣麼智慧)

  1. 雲開發資料庫的基本查詢(使用雲函式演示)
  2. 雲開發資料庫的高階查詢(使用雲函式演示)
  3. 雲開發使用nodejs(不做具體介紹,只說有這麼個東西,細心的你大概已經發現了,包括雲函式的查詢操作都是引用一個微信的sdk(wx-server-sdk)完成的)