將 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 中找到更多資訊。