Bird
Raised Fist0
NestJSframework~5 mins

CRUD with Prisma in NestJS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does CRUD stand for in software development?
CRUD stands for Create, Read, Update, and Delete. These are the four basic operations to manage data in an application.
Click to reveal answer
beginner
How does Prisma help in a NestJS application?
Prisma is an ORM (Object-Relational Mapping) tool that helps NestJS apps interact with databases easily by providing a type-safe and auto-generated query builder.
Click to reveal answer
beginner
In Prisma, what is the purpose of the Prisma Client?
Prisma Client is an auto-generated library that lets you perform database operations like create, read, update, and delete with simple JavaScript/TypeScript methods.
Click to reveal answer
intermediate
What is the typical structure of a CRUD service method in NestJS using Prisma?
A CRUD service method calls Prisma Client methods like create(), findMany(), update(), or delete() to perform database operations, usually wrapped in async functions.
Click to reveal answer
beginner
Why should you use async/await with Prisma in NestJS?
Database operations are asynchronous. Using async/await ensures your code waits for the database response before continuing, preventing errors and making code easier to read.
Click to reveal answer
Which Prisma Client method is used to add a new record to the database?
Adelete()
BfindMany()
Cupdate()
Dcreate()
What does the findMany() method do in Prisma?
AFinds and returns multiple records
BUpdates multiple records
CDeletes multiple records
DCreates multiple records
In NestJS, where do you usually call Prisma Client methods for CRUD operations?
AIn the controller
BIn the service
CIn the module
DIn the main.ts file
Which keyword is used to handle asynchronous Prisma calls in NestJS?
Aawait
Basyncify
Cwait
Dsync
What is the main benefit of using Prisma with NestJS?
AIt automatically creates UI components
BIt replaces the need for controllers
CIt simplifies database access with type safety
DIt manages server deployment
Explain how you would implement a 'Read' operation using Prisma in a NestJS service.
Think about how to get data from the database safely and asynchronously.
You got /3 concepts.
    Describe the steps to create a new record in the database using Prisma within a NestJS app.
    Focus on how to add data and handle the response.
    You got /3 concepts.

      Practice

      (1/5)
      1. In NestJS with Prisma, which method is used to retrieve multiple records from the database?
      easy
      A. create
      B. update
      C. findMany
      D. delete

      Solution

      1. Step 1: Understand Prisma CRUD methods

        Prisma provides create to add, findMany to get multiple records, update to change, and delete to remove records.
      2. Step 2: Identify method for retrieving multiple records

        The method findMany is specifically designed to fetch many records from the database.
      3. Final Answer:

        findMany -> Option C
      4. Quick Check:

        Retrieve multiple records = findMany [OK]
      Hint: Remember: findMany fetches many records [OK]
      Common Mistakes:
      • Confusing create with findMany
      • Using update to retrieve data
      • Trying to delete to get records
      2. Which of the following is the correct syntax to create a new user record using Prisma in a NestJS service?
      easy
      A. this.prisma.user.create({ data: { name: 'Alice' } })
      B. this.prisma.user.findMany({ data: { name: 'Alice' } })
      C. this.prisma.user.update({ data: { name: 'Alice' } })
      D. this.prisma.user.delete({ data: { name: 'Alice' } })

      Solution

      1. Step 1: Identify the method to add a record

        The create method is used to add new records in Prisma.
      2. Step 2: Check the syntax for creating a user

        The correct syntax is this.prisma.user.create({ data: { ... } }) where data holds the new record's fields.
      3. Final Answer:

        this.prisma.user.create({ data: { name: 'Alice' } }) -> Option A
      4. Quick Check:

        Create new record = create method [OK]
      Hint: Use create with data object to add records [OK]
      Common Mistakes:
      • Using findMany instead of create
      • Passing data to update without where clause
      • Using delete method to add records
      3. Given this Prisma update call in a NestJS service:
      this.prisma.user.update({ where: { id: 5 }, data: { email: 'new@example.com' } })

      What will this operation do?
      medium
      A. Delete the user with id 5
      B. Update the email of the user with id 5 to 'new@example.com'
      C. Create a new user with id 5 and email 'new@example.com'
      D. Return all users with email 'new@example.com'

      Solution

      1. Step 1: Understand the update method parameters

        The update method requires a where clause to find the record and data to specify changes.
      2. Step 2: Analyze the given call

        It targets user with id: 5 and changes the email field to 'new@example.com'.
      3. Final Answer:

        Update the email of the user with id 5 to 'new@example.com' -> Option B
      4. Quick Check:

        Update with where and data changes record [OK]
      Hint: Update needs where to find record, data to change [OK]
      Common Mistakes:
      • Thinking update creates new records
      • Confusing update with delete
      • Missing where clause causes errors
      4. What is wrong with this Prisma delete call in a NestJS service?
      this.prisma.user.delete({ data: { id: 3 } })
      medium
      A. The delete method should use a where clause, not data
      B. The delete method cannot delete by id
      C. The syntax is correct and will delete user with id 3
      D. The delete method requires an update object

      Solution

      1. Step 1: Check Prisma delete method syntax

        The delete method requires a where clause to specify which record to remove.
      2. Step 2: Identify the error in the code

        The code incorrectly uses data instead of where, causing a syntax error.
      3. Final Answer:

        The delete method should use a where clause, not data -> Option A
      4. Quick Check:

        Delete needs where, not data [OK]
      Hint: Delete uses where to find record, not data [OK]
      Common Mistakes:
      • Using data instead of where in delete
      • Trying to update in delete method
      • Omitting where clause causes errors
      5. You want to update a user's name only if the user exists, otherwise create a new user with that name using Prisma in NestJS. Which approach correctly handles this logic?
      hard
      A. Use delete then create to replace the user
      B. Call update and if it fails, call create manually
      C. Use findMany then create without update
      D. Use upsert with where, update, and create objects

      Solution

      1. Step 1: Understand Prisma's upsert method

        The upsert method updates a record if it exists or creates it if not, combining both actions safely.
      2. Step 2: Identify correct usage for conditional update or create

        Using upsert with where to find the user, update for changes, and create for new record is the best practice.
      3. Final Answer:

        Use upsert with where, update, and create objects -> Option D
      4. Quick Check:

        Conditional update or create = upsert [OK]
      Hint: Use upsert to update or create in one call [OK]
      Common Mistakes:
      • Manually catching update errors to create
      • Using findMany without update
      • Deleting before creating wastes operations
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard