跳到主要内容

将 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 中找到更多信息。

© . All rights reserved.