prisma-database-setup-mongodb

oleh prisma

Penyiapan MongoDB. Referensi saat menggunakan fitur Prisma ini.

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.

Lebih banyak skill dari prisma

prisma-cli-migrate-reset
prisma
prisma migrate reset
official
prisma-cli-validate
prisma
validasi prisma. Referensi saat menggunakan fitur Prisma ini.
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
Tinjau satu atau lebih ADR dengan perspektif baru (sebagai anggota tim tanpa konteks sebelumnya), identifikasi masalah naratif dan struktural, lalu tulis ulang. Gunakan ketika…
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
We need to translate the given text from English to Bahasa Indonesia. The text is a description of a directory item for an agent skill named "prisma-cli". The instruction says to preserve the name "prisma-cli" but not include it unless it appears in the source text. The source text does not include the name "prisma-cli" explicitly; it says "Prisma CLI" which is different. So we should not add "prisma-cli". We translate the text inside <text> only. The text: "Complete reference for Prisma CLI commands, options, and workflows across setup, migrations, and database operations. Covers 20+ commands organized by priority: setup ( init ), generation ( generate ), development ( dev ), database operations ( db pull/push/seed/execute ), and migrations ( migrate dev/deploy/reset/status/diff/resolve ) Includes Prisma 7.x changes: new prisma.config.ts configuration file, removed flags ( --skip-generate , --skip-seed , --schema , --url ), and explicit..." We
official
prisma-client-api
prisma
We need to translate the given text from English to Bahasa Indonesia. The text is a description of a Prisma Client API reference. We must preserve the name "prisma-client-api" but it's not in the text, so we don't include it. We must not add any extra commentary, labels, etc. Just translate the text. The text: "Complete Prisma Client API reference for model queries, CRUD operations, filtering, relations, and transactions. Covers 17 model query methods including findUnique , findMany , create , update , delete , upsert , and bulk operations with return variants Provides query options for shaping results: select , include , omit , orderBy , take , skip , cursor , and distinct Includes scalar and logical filter operators ( equals , in , contains , startsWith , lt , gt ) plus relation filters ( some ,..." Note: The text ends with "some ,..." which seems incomplete, but we translate as is. Translation: "Referensi lengkap API Prisma Client untuk kueri model, operasi CRUD, pemfilteran,
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