Tutorials Courses Interview Prep (100 Q&A) AI Tools (50) Developer Tools (50) Tracks Pricing Plans Blog & Articles Contact Us
High-Concurrency Systems & Microservices 20 mins read Free Lesson

Node.js Database Layer with Prisma ORM & PostgreSQL

Execute complex relational joins, aggregations, database transactions, and seeding with Prisma.

Interactive Prisma Transactions

const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();

async function enrollUserInCourse(userId, courseId) {
    return await prisma.$transaction(async (tx) => {
        const course = await tx.course.findUnique({ where: { id: courseId } });
        const enrollment = await tx.enrollment.create({
            data: { userId, courseId }
        });
        return enrollment;
    });
}