データベースを接続する (MongoDB)
データベースへの接続
データベースに接続するには、Prisma スキーマの 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 を使用している場合、MongoDB Atlas からの環境リンクにはデータベース名が含まれていないため、接続 URL にデータベース名を手動で追加する必要があることに注意してください。
トラブルシューティング
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を参照してください。