prisma-database-setup-mongodb

от prisma

Настройка MongoDB. Справочная информация при использовании этой функции Prisma.

npx skills add https://github.com/prisma/cursor-plugin --skill prisma-database-setup-mongodb

MongoDB Setup

⚠️ WARNING: MongoDB is NOT supported in Prisma ORM v7.

Support for MongoDB is planned for a future v7 release. If you need MongoDB, you must use Prisma ORM v6.

Prerequisites

  • MongoDB 4.2+
  • Replica Set configured (required for transactions)
  • Prisma ORM v6.x

1. Schema Configuration (v6)

In prisma/schema.prisma:

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

ID Field Requirement

MongoDB models must have a mapped _id field using @id and @map("_id"), usually of type String with auto() and db.ObjectId.

model User {
  id    String @id @default(auto()) @map("_id") @db.ObjectId
  email String @unique
  name  String?
}

Relations

Relations in MongoDB expect IDs to be db.ObjectId type.

model Post {
  id       String @id @default(auto()) @map("_id") @db.ObjectId
  author   User   @relation(fields: [authorId], references: [id])
  authorId String @db.ObjectId
}

2. Environment Variable

In .env:

DATABASE_URL="mongodb+srv://user:password@cluster.mongodb.net/mydb?retryWrites=true&w=majority"

Migrations vs Introspection

  • No Migrations: MongoDB is schema-less. prisma migrate commands do not work.
  • db push: Use prisma db push to sync indexes and constraints.
  • db pull: Use prisma db pull to generate schema from existing data (sampling).

Common Issues

"Transactions not supported"

Ensure your MongoDB instance is a Replica Set. Standalone instances do not support transactions. Atlas clusters are replica sets by default.

"Invalid ObjectID"

Ensure fields referencing IDs are decorated with @db.ObjectId if the target is an ObjectID.

Больше skills от prisma

prisma-cli-migrate-reset
prisma
prisma migrate reset
official
prisma-cli-validate
prisma
prisma validate. Справочная информация при использовании этой функции Prisma.
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
Проверить один или несколько ADR свежим взглядом (как участник команды без предварительного контекста), выявить проблемы в повествовании и структуре, затем переписать их. Используйте, когда…
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
Полное руководство по командам, опциям и рабочим процессам Prisma CLI для настройки, миграций и операций с базами данных. Охватывает более 20 команд, сгруппированных по приоритету: настройка (init), генерация (generate), разработка (dev), операции с базами данных (db pull/push/seed/execute) и миграции (migrate dev/deploy/reset/status/diff/resolve). Включает изменения в Prisma 7.x: новый файл конфигурации prisma.config.ts, удаленные флаги (--skip-generate, --skip-seed, --schema, --url) и явные...
official
prisma-client-api
prisma
Полный справочник API Prisma Client для запросов к моделям, операций CRUD, фильтрации, связей и транзакций. Охватывает 17 методов запросов к моделям, включая findUnique, findMany, create, update, delete, upsert и массовые операции с вариантами возврата. Предоставляет опции запросов для формирования результатов: select, include, omit, orderBy, take, skip, cursor и distinct. Включает скалярные и логические операторы фильтрации (equals, in, contains, startsWith, lt, gt), а также фильтры по связям (some,...
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial