探索 Prisma ORM 5.16.0 中強大的新功能,它允許您全域性或區域性省略查詢中的特定欄位。無論您是需要確保敏感資訊(如密碼)永不洩露,還是希望為單個查詢簡化資料檢索,Prisma ORM 都能滿足您的需求。在本篇博文中,透過程式碼示例和指導,瞭解如何增強您的資料管理。
隨著 Prisma ORM 5.16.0 的釋出,我們很高興推出一種從 Prisma Client 查詢中全域性省略欄位的方式!這項備受期待的功能直接受到了社群透過 GitHub 問題反饋以及對我們最初實現 omitApi 預覽功能的反饋的影響。非常感謝所有幫助我們持續開發此功能的人!
我們相信此次釋出有助於開發者更好地平衡效能、使用者體驗與安全、隱私的需求。請繼續閱讀,瞭解我們如何利用此功能簡化查詢結果中敏感資料的管理。
在 Prisma ORM 5.16.0 中省略欄位
藉助最初隨 Prisma ORM 5.13.0 釋出的 omitApi 預覽功能,您現在可以在查詢中或在 Prisma Client 初始化時,與現有 select 功能一起 omit(省略)欄位。您可以選擇全域性省略欄位,例如使用者密碼,或者根據每個查詢定義要省略的欄位,例如並非所有檢視都需要的欄位。現在,只將前端所需的資料傳送給它比以往任何時候都容易。
如何全域性省略欄位
在 Prisma Client 初始化時,您可以將欄位標記為“省略”。這意味著對於該 Prisma Client 例項上的任何查詢,這些欄位將永遠不會返回。例如,您可以初始化 Prisma Client 並始終 omit(省略)使用者密碼。
如果您想重新包含全域性省略的欄位,可以在單個查詢級別覆蓋此設定
如何區域性省略欄位
最初在 Prisma ORM 5.13.0 中釋出的 omitApi 預覽功能的每查詢版本也可用。此功能允許您在每查詢級別 omit(省略)欄位,類似於您使用 select 的方式。
現在,您可以靈活地全域性省略某個欄位,或僅在特定情況下選擇它,反之亦然!
何時省略欄位
既然有了兩種省略欄位的方法,最常見的問題是“我應該何時使用哪種方法?”
如果您關注安全或敏感資訊洩露,大多數情況下會希望使用全域性省略。這將確保新編寫的查詢不會無意中包含敏感資料。一個很好的應用場景是始終省略使用者密碼。
然而,如果您關注資料最佳化,您會希望使用區域性省略。這將允許您在大多數查詢中繼續使用模型上的所有欄位,然後在關注資料傳輸量時精簡模型。例如,如果您的表格中每列的資料量都相對較小,但有一列包含大量 JSON 或 Blob 資料,您可以輕鬆排除該列,這樣您的應用程式就不必為每個請求傳輸所有這些資料。
我們期待您持續的反饋!
全域性省略欄位的能力是我們最受期待的功能,我們很高興將其包含在 5.16.0 版本中。如果您有任何反饋,請隨時新增到我們的專門 GitHub 討論中。目前為止,我們已經就 omitApi 預覽功能進行了很多精彩的討論,我們很高興能繼續這些討論。
不要錯過下一篇文章!
訂閱 Prisma 新聞通訊