跳到主要内容

MongoDB

学习如何从零开始创建一个新的 Node.js 或 TypeScript 项目,将 Prisma ORM 连接到你的 MongoDB 数据库,并生成用于数据库访问的 Prisma Client。以下教程将向你介绍 Prisma CLIPrisma Client

前提条件

为了成功完成本指南,你需要

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

  • 访问一个带有 replica set(副本集)部署的 MongoDB 4.2+ 服务器。我们推荐使用 MongoDB Atlas

    警告

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

确保你手头有数据库的连接 URL。如果你没有运行的数据库服务器,只是想探索 Prisma ORM,请查阅快速入门

请参阅系统要求了解具体的版本要求。

创建项目设置

作为第一步,创建一个项目目录并进入该目录

mkdir hello-prisma
cd hello-prisma

接下来,初始化一个 TypeScript 项目并将 Prisma CLI 作为开发依赖项添加到其中

npm init -y
npm install prisma typescript tsx @types/node --save-dev

这将创建一个包含你的 TypeScript 应用初始设置的 package.json 文件。

接下来,初始化 TypeScript

npx tsc --init

现在你可以通过在命令前加上 npx 来调用 Prisma CLI

npx prisma

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

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

此命令会执行以下操作

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

如果你使用版本控制,例如 git,我们建议你在 .gitignore 文件中添加一行来排除应用程序中生成的客户端。在此示例中,我们要排除 generated/prisma 目录。

.gitignore
generated/prisma/

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

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