Skip to main content

prisma-client-api-model-queries

Model Queries. Reference when using this Prisma feature.

Zur Installation springen

Quellinformationen

Repository
prisma/cursor-plugin
Letzte Quellaktivität
6. Februar 2026 um 14:17
Erkannte Sprache von SKILL.md
Englisch
Sterne
10
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
prisma-client-api-model-queries
description
Model Queries. Reference when using this Prisma feature.
license
MIT
metadata
{"author":"prisma","version":"7.0.0"}
# Model Queries CRUD operations for your Prisma models. ## Read Operations ### findUnique Find a single record by unique field: ```typescript const user = await prisma.user.findUnique({ where: { id: 1 } }) const user = await prisma.user.findUnique({ where: { email: 'alice@prisma.io' } }) ``` #### With composite unique key ```typescript // Model with @@unique([firstName, lastName]) const user = await prisma.user.findUnique({ where: { firstName_lastName: { firstName: 'Alice', lastName: 'Smith' } } }) ``` ### findUniqueOrThrow Same as findUnique but throws if not found: ```typescript const user = await prisma.user.findUniqueOrThrow({ where: { id: 1 } }) // Throws PrismaClientKnownRequestError if not found ``` ### findFirst Find first matching record: ```typescript const user = await prisma.user.findFirst({ where: { role: 'ADMIN' }, orderBy: { createdAt: 'desc' } }) ``` ### findFirstOrThrow ```typescript const user = await prisma.user.findFirstOrThrow({ where: { role: 'ADMIN' } }) ``` ### findMany Find multiple records: ```typescript const users = await prisma.user.findMany({ where: { role: 'USER' }, orderBy: { name: 'asc' }, take: 10, skip: 0 }) ``` ## Create Operations ### create Create a single record: ```typescript const user = await prisma.user.create({ data: { email: 'alice@prisma.io', name: 'Alice' } }) ``` #### With relations ```typescript const user = await prisma.user.create({ data: { email: 'alice@prisma.io', posts: { create: [ { title: 'First Post' }, { title: 'Second Post' } ] } }, include: { posts: true } }) ``` ### createMany Create multiple records: ```typescript const result = await prisma.user.createMany({ data: [ { email: 'alice@prisma.io', name: 'Alice' }, { email: 'bob@prisma.io', name: 'Bob' } ], skipDuplicates: true // Skip records with duplicate unique fields }) // Returns { count: 2 } ``` ### createManyAndReturn Create multiple and return them: ```typescript const users = await prisma.user.createManyAndReturn({ data: [ { email: 'alice@prisma.io', name: 'Alice' }, { email: 'bob@prisma.io', name: 'Bob' } ] }) // Returns array of created users ``` ## Update Operations ### update Update a single record: ```typescript const user = await prisma.user.update({ where: { id: 1 }, data: { name: 'Alice Smith' } }) ``` #### Atomic operations ```typescript const post = await prisma.post.update({ where: { id: 1 }, data: { views: { increment: 1 }, likes: { decrement: 1 }, score: { multiply: 2 }, rating: { divide: 2 }, version: { set: 5 } } }) ``` ### updateMany Update multiple records: ```typescript const result = await prisma.user.updateMany({ where: { role: 'USER' }, data: { verified: true } }) // Returns { count: 42 } ``` ### updateManyAndReturn ```typescript const users = await prisma.user.updateManyAndReturn({ where: { role: 'USER' }, data: { verified: true } }) // Returns array of updated users ``` ### upsert Update or create: ```typescript const user = await prisma.user.upsert({ where: { email: 'alice@prisma.io' }, update: { name: 'Alice Smith' }, create: { email: 'alice@prisma.io', name: 'Alice' } }) ``` ## Delete Operations ### delete Delete a single record: ```typescript const user = await prisma.user.delete({ where: { id: 1 } }) // Returns deleted record ``` ### deleteMany Delete multiple records: ```typescript const result = await prisma.user.deleteMany({ where: { role: 'GUEST' } }) // Returns { count: 5 } // Delete all const result = await prisma.user.deleteMany({}) ``` ## Aggregation Operations ### count ```typescript const count = await prisma.user.count({ where: { role: 'ADMIN' } }) ``` ### aggregate ```typescript const result = await prisma.post.aggregate({ _avg: { views: true }, _sum: { views: true }, _min: { views: true }, _max: { views: true }, _count: { _all: true } }) ``` ### groupBy ```typescript const groups = await prisma.user.groupBy({ by: ['country'], _count: { _all: true }, _avg: { age: true }, having: { age: { _avg: { gt: 30 } } } }) ``` ## Return Types | Method | Returns | |--------|---------| | `findUnique` | Record \| null | | `findUniqueOrThrow` | Record (throws if not found) | | `findFirst` | Record \| null | | `findFirstOrThrow` | Record (throws if not found) | | `findMany` | Record[] | | `create` | Record | | `createMany` | { count: number } | | `createManyAndReturn` | Record[] | | `update` | Record | | `updateMany` | { count: number } | | `delete` | Record | | `deleteMany` | { count: number } | | `count` | number | | `aggregate` | Aggregate result | | `groupBy` | Group result[] |
Auf GitHub ansehen