跳到主要內容

將 MongoDB 連線到你的現有 Node.js 專案

連線你的資料庫

要連線你的資料庫,你需要將 Prisma schema 中 datasource 塊的 url 欄位設定為你的資料庫 連線 URL

prisma/schema.prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}

在這種情況下,url 是透過 環境變數 設定的,該變數定義在 .env 檔案中。

.env
DATABASE_URL="mongodb+srv://test:test@cluster0.ns1yp.mongodb.net/myFirstDatabase"

你現在需要調整連線 URL,使其指向你自己的資料庫。

你的資料庫的連線 URL 格式取決於你使用的資料庫。對於 MongoDB,它看起來如下(全部大寫的部分是用於你的特定連線詳細資訊的佔位符

mongodb://USERNAME:PASSWORD@HOST:PORT/DATABASE

以下是每個元件的簡要說明

  • USERNAME:你的資料庫使用者名稱
  • PASSWORD:你的資料庫使用者的密碼
  • HOST:執行 mongod(或 mongos)例項的主機
  • PORT:資料庫伺服器執行的埠(MongoDB 通常是 27017
  • DATABASE:資料庫的名稱。請注意,如果你使用 MongoDB Atlas,你需要手動將資料庫名稱新增到連線 URL 中,因為 MongoDB Atlas 的環境連結不包含它。

故障排除

Error in connector: SCRAM failure: Authentication failed.

如果你看到 Error in connector: SCRAM failure: Authentication failed. 錯誤訊息,你可以透過在連線字串的末尾新增 ?authSource=admin 來指定認證的源資料庫。

Raw query failed. Error code 8000 (AtlasError): empty database name not allowed.

如果你看到 Raw query failed. Code: unknown. Message: Kind: Command failed: Error code 8000 (AtlasError): empty database name not allowed. 錯誤訊息,請確保將資料庫名稱附加到資料庫 URL。你可以在此 GitHub issue 中找到更多資訊。

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