连接数据库 (MongoDB)
要连接数据库,您需要在 Prisma schema 中的 datasource
块中设置 url
字段,指向您的数据库连接 URL。
prisma/schema.prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
在这种情况下,url
通过一个在 .env
中定义的环境变量设置(该示例使用 MongoDB Atlas URL)。
.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 中找到更多信息。