メインコンテンツにスキップ

データベースに接続する (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 を参照してください。