2022年4月5日

Prisma 新增對 MongoDB 的支援 — 加入我們的釋出周慶祝活動 🎉

我們很高興地宣佈,今天的 Prisma ORM 釋出新增了對 MongoDB 的穩定生產級支援!歡迎在 釋出周期間加入我們的慶祝活動,日期為4月25日至29日

Prisma Adds Support for MongoDB

Prisma + MongoDB = 💚

自 Prisma ORM 最初發布以來,對 MongoDB 的支援一直是最受使用者請求的功能之一。將這兩種技術結合使用,能讓開發者提高生產力,並更快地交付更具雄心壯志的軟體。

告別資料不一致,感謝 Prisma 模式

Node.js 開發者喜歡 MongoDB,因為它提供了靈活性以及熟悉的基於 JSON 的資料模型!然而,作為一種無模式資料庫,這意味著隨著專案的演進和規模增長,MongoDB 使用者很容易遇到資料不一致的問題。

藉助 Prisma,開發者可以輕鬆地為希望儲存在 MongoDB 中的資料定義一個模式。這帶來了多項好處:

  • MongoDB 內部的資料結構變得明確。
  • Prisma 確保了儲存在 MongoDB 中的資料的一致性。
  • 所有團隊成員都瞭解 MongoDB 中儲存的資料。

Prisma 模式採用 Prisma 直觀且易於閱讀的建模語言編寫,示例如下:

Prisma 的資料模型使得處理關係變得異常容易。在上述模式示例中,您可以看到從 UserPost 的一對多關係透過引用實現,以及代表 User 模型上嵌入式文件Profile 型別。

資料庫查詢自動補全

與 MongoDB 類似,Prisma 也提供了一個數據庫客戶端:Prisma Client,您可以用來查詢您的 MongoDB 資料庫。兩者之間的主要區別之一是 Prisma Client 感知您定義的模式,因此它可以幫助您透過自動補全編寫查詢。

當您需要對 MongoDB 例項執行更專業的查詢時,Prisma 也允許您回退到 MongoDB 的原生查詢 API。

基於引用的級聯刪除/更新

MongoDB 不原生支援引用操作(即級聯刪除/更新)。Prisma “填充”了此功能,允許開發者在 Prisma 模式中進行配置,從而有助於維護 MongoDB 資料庫中資料的引用完整性

在上述資料模型中,author 欄位上的 @relation 屬性使用了 onDelete: Cascade。這意味著當 User 文件被刪除時,所有與之相關的 Post 文件也會被刪除。

Prisma 讓 MongoDB 型別安全

Prisma 在 TypeScript 應用程式中使用時尤其能發揮其優勢,因為它提供了極強的型別安全保證。

例如,考慮以下查詢,我們透過 select 選項指定 User 模型(及其關係)的哪些欄位應在響應中返回:

如果您選擇上方程式碼片段中的生成型別標籤,您會看到結果 userData 常量的型別現在已根據查詢中選擇的欄位進行了調整。

這有兩個主要好處:

  • TypeScript 編譯器將捕獲您意外訪問未從查詢返回的欄位的情況。
  • 您的自動補全建議會根據給定型別進行調整。

立即試用 Prisma 與 MongoDB

我們很高興能看到您將用 MongoDB 和 Prisma 構建出什麼!您可以在我們的文件中開始使用 MongoDB(參見下方按鈕)。

從零開始...

要開始使用 MongoDB 和 Prisma,您可以按照我們的指南從零開始設定一個新專案。


從零開始使用 MongoDB

... 或將 Prisma 與您現有的 MongoDB 資料庫結合使用

如果您已經有一個使用 MongoDB 資料庫的現有專案,您可以輕鬆地開始逐步採用 Prisma。

Prisma 具有內省功能,可以讀取您儲存在 MongoDB 集合中的文件結構並建立相應的 Prisma 模型。我們也將很快釋出從 Mongoose 遷移的指南。


將 Prisma 新增到現有 MongoDB 專案

加入我們,共同慶祝一週 🎉

為慶祝 Prisma 對 MongoDB 的支援,我們計劃在四月底舉辦一個釋出周,屆時將有許多有趣的活動、新內容和精彩的活動!

透過上方網站註冊,加入我們的釋出周!如果您正在使用 MongoDB 和 Prisma 構建東西,並希望在釋出週期間談論它,您也可以提交您的展示閃電演講提案(約3分鐘)

不要錯過下一篇文章!

訂閱 Prisma 新聞通訊

© . This site is unofficial and not affiliated with Prisma Data, Inc.