探索 Prisma ORM 5.16.0 中強大的新功能,讓您能夠全域或局部省略查詢中的特定欄位。無論您需要確保敏感資訊(如密碼)永遠不會洩露,還是想要簡化單一查詢的資料檢索,Prisma ORM 都能滿足您的需求。在這篇部落格文章中,了解如何透過程式碼範例和指南來增強您的資料管理。
在 Prisma ORM 5.16.0 版本中,我們很高興推出在 Prisma Client 查詢中全域省略欄位的新方式!這項備受期待的功能直接受到社群回饋的影響,包括 GitHub issue 上的反應,以及對我們最初實作的 omitApi
預覽功能的意見。非常感謝所有幫助我們持續開發此功能的人!
我們相信此版本有助於提升開發人員在效能和體驗與安全性及隱私之間取得平衡的需求。請繼續閱讀,我們將使用此功能簡化您在查詢結果中管理敏感資料的方式。
在 Prisma ORM 5.16.0 中省略欄位
透過最初在 Prisma ORM 5.13.0 版本中發布的 omitApi
預覽功能,您現在可以與現有的 select
功能或在 Prisma Client 初始化時一起從查詢中 omit
欄位。您可以選擇全域省略欄位(例如使用者密碼),或在每次查詢的基礎上定義要省略的欄位(例如在所有視圖中都不必要的欄位)。現在比以往任何時候都更容易僅將前端所需的資料傳送給它。
如何全域省略欄位
在 Prisma Client 初始化時,您可以將欄位標記為「省略」。這表示對於該 Prisma Client 實例上的任何查詢,這些欄位將永遠不會被傳回。例如,您可以初始化 Prisma Client 並始終 omit
使用者密碼。
如果您想重新包含全域省略的欄位,可以在個別查詢層級覆寫此設定。
如何局部省略欄位
最初在 Prisma ORM 5.13.0 版本中發布,omitApi
預覽功能的每次查詢版本也已可用。此功能可讓您在每次查詢的層級 omit
欄位,類似於您使用 select
的方式。
現在您可以靈活地全域省略欄位,僅在特定情況下選取它,反之亦然!
何時省略欄位
既然有兩種省略欄位的方式,最常見的問題是「我應該在何時使用每種方法?」
如果您擔心安全性或洩露敏感資訊,在大多數情況下,您會希望使用全域省略。這將保證新撰寫的查詢不會在您的查詢中不小心包含敏感資料。一個可靠的使用案例是始終省略使用者密碼。
但是,如果您擔心資料最佳化,您會希望使用局部省略。這將允許您在大多數查詢中繼續使用模型上的所有欄位,然後在資料傳輸量成為考量因素時縮減模型。例如,如果您的表格中每個欄位的資料都相對較小,但有一個欄位包含大量 JSON 或 Blob 資料,您可以輕鬆排除該欄位,這樣您的應用程式就不需要在每次請求時都傳輸所有這些資料。
我們希望您持續提供意見回饋!
全域省略欄位的功能是我們最受歡迎的功能,我們很高興將其納入 5.16.0 版本中。如果您有任何意見回饋,請隨時添加到我們的專門 GitHub 討論區。到目前為止,我們已經針對 omitApi
預覽功能進行了一些很棒的對話,我們很高興能繼續進行這些對話。
不要錯過下一篇文章!
訂閱 Prisma 電子報