Section 1: Lab: Introducing NoSQL and MongoDB 8
- Why NoSQL, and which workloads suit MongoDB
- Databases, collections, documents and the BSON format
- Run MongoDB 8 with Docker and work with it in Compass and mongosh
- Lab: create the sample store database and add the first data
Section 2: Designing Documents for How They Are Used
- Embedding versus referencing, and when to choose each
- Design around the application's read patterns
- Schema validation to keep data quality under control
- Lab: design the product, customer and order collections
Section 3: Lab: CRUD with the MongoDB C# Driver
- Install MongoDB.Driver and register MongoClient as a singleton
- Map C# classes to documents with attributes and conventions
- Insert, Find, Update and Delete with builders and filters
- Work with BsonDocument directly when the data shape is not fixed
- Lab: a product data service covering every operation
Section 4: LINQ and the Aggregation Pipeline
- Write queries with the current driver's LINQ provider
- The aggregation pipeline: $match, $group, $project, $lookup and $unwind
- Build type-safe pipelines in C#
- Lab: a sales report by category and month
Section 5: Indexes, GridFS and Security
- Create indexes and read explain output to check query speed
- Use the database profiler to find slow queries
- Store large files with GridFS
- Multi-document transactions, and setting up users and roles
- Lab: index a slow query and store product images with GridFS