將您的 MongoDB 資料庫連線到現有的 TypeScript 專案
連線您的資料庫
要連線您的資料庫,您需要將 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 問題中找到更多資訊。