Databases for Node.js Developers
4h 5mIntermediate2025-03-14
Authors

Daniel Khan
Technology Lead, Developer, Application Architect
Course details
In this course, Daniel Khan—a technology lead, developer, and application architect—shows you how to manage databases from SQL and NoSQL, to in-memory databases, and learn how to work with them in real-time applications. Discover the basics and applications of SQL databases like MySQL for structured, relational data, and NoSQL databases like MongoDB for dynamic data storage. Learn how to use Redis for super-fast, in-memory data management that is perfect for session management and real-time processing. Get hands-on experience with connecting databases to Node.js applications through practical examples and projects. Understand how to write, read, update, and delete operations with these databases and incorporate them seamlessly into your web development workflow. By the end of the course, you will be capable of managing complex database operations, ensuring data integrity, and optimizing your web applications for better performance.
Skills covered
Node.jsJavaScript FrameworksDatabase DevelopmentDatabase ManagementWeb DevelopmentOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Databases in Node.js - Relational, document, and in-memory storage in action
1. Course Setup
- 02 - What you should know
- 03 - Getting your tools ready
- 04 - How to use the exercise files
- 05 - Exploring the sample project
2. Introduction to Databases
- 06 - Some basics about databases
- 07 - Understanding relational databases
- 08 - Understanding document databases
- 09 - Selecting the ideal database for your Node.js project
3. MongoDB - Building Your Product Catalog
- 10 - Managing product data with MongoDB
- 11 - Setting up MongoDB with Docker
- 12 - Exploring MongoDB with Compass
- 13 - Introducing Mongoose
- 14 - Setting up Mongoose and connecting it to MongoDB
- 15 - Building a model for our products
- 16 - Integrating the model into our application
- 17 - Populating MongoDB with sample data
- 18 - Querying items with Mongoose
- 19 - Filtering items by tag
- 20 - Item administration - Listing and loading
- 21 - Item administration - Create, update, and delete
- 22 - Optimizing queries with indexes
- 23 - Performing text search in MongoDB
4. MySQL - Managing Users and Orders
- 24 - Using MySQL for our users and orders
- 25 - Setting up MySQL with Docker
- 26 - Exploring MySQL with MySQL Workbench
- 27 - Introducing Sequelize
- 28 - Setting up the database connection
- 29 - Designing the database structure
- 30 - Creating a user model for Sequelize
- 31 - Creating the order models for Sequelize
- 32 - Loading and syncing the models
- 33 - Creating, updating and deleting users with Sequelize
- 34 - Securing credentials with password hashing
- 35 - Implementing the user login
5. Redis - A Fast Store for Sessions, Caching, and Real-Time Features
- 36 - Fast and flexible basket and session management with Redis
- 37 - Setting up Redis with Docker
- 38 - Exploring Redis with Redis Insight
- 39 - Connecting our application to Redis
- 40 - Managing user sessions with Redis
- 41 - Basic Redis operations for shopping baskets, part 1
- 42 - Basic Redis operations for shopping baskets, part 2
6. Bringing It All Together - Creating and Managing Orders
- 43 - Fetching item information for the basket
- 44 - Creating the order and using transactions
- 45 - Implementing the order admin view
Conclusion
- 46 - Next steps