跳到主要内容

MongoDB

了解如何通过连接数据库并生成 Prisma Client 来访问数据库,从而将 Prisma ORM 添加到现有 Node.js 或 TypeScript 项目。本教程将向您介绍 Prisma CLIPrisma ClientPrisma 内省

提示

如果您正从 Mongoose 迁移到 Prisma ORM,请参阅我们的从 Mongoose 迁移指南

先决条件

要成功完成本指南,您需要

  • Node.js 安装在您的机器上(请参阅系统要求了解官方支持的版本)

  • 访问具有副本集部署的 MongoDB 4.2+ 服务器。我们推荐使用 MongoDB Atlas

    警告

    MongoDB 数据库连接器使用事务来支持嵌套写入。事务**要求** 副本集 部署。部署副本集的最简单方法是使用 Atlas。它是免费入门的。

请确保您已准备好数据库连接 URL(包含您的身份验证凭据)!如果您没有正在运行的数据库服务器,只是想探索 Prisma ORM,请查看快速入门

有关确切版本要求,请参阅系统要求

设置 Prisma ORM

第一步,导航到包含 package.json 文件的项目目录。

接下来,将 Prisma CLI 作为开发依赖项添加到您的项目

npm install prisma --save-dev
注意

如果您的项目包含多个带有 package.json 文件的目录(例如,frontendbackend 等),请注意 Prisma ORM 专门用于 API/后端层。要设置 Prisma,请导航到包含相关 package.json 文件的适当后端目录并在那里配置 Prisma。

现在,您可以使用 npx 前缀来调用 Prisma CLI

npx prisma
信息

有关如何使用不同的包管理器安装 Prisma ORM,请参阅安装说明

接下来,使用以下命令创建您的Prisma Schema 文件来设置您的 Prisma ORM 项目

npx prisma init --datasource-provider mongodb --output ../generated/prisma

此命令执行以下几项操作

  • 创建一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含带有您的数据库连接变量和模式模型的 Prisma Schema。
  • datasource 设置为MongoDB并将输出分别设置为自定义位置。
  • 在项目根目录中创建.env 文件,该文件用于定义环境变量(例如您的数据库连接)
使用版本控制?

如果您使用版本控制(如 git),我们建议您在 .gitignore 文件中添加一行,以将生成的客户端排除在您的应用程序之外。在此示例中,我们希望排除 generated/prisma 目录。

.gitignore
generated/prisma/

请注意,prisma init 创建的默认模式使用 PostgreSQL 作为 provider。如果您没有使用 datasource-provider 选项指定 provider,则需要编辑 datasource 块以改用 mongodb provider。

prisma/schema.prisma
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}