Section 1: Lab: รู้จัก NoSQL และ MongoDB 8
- ทำไมต้อง NoSQL และงานแบบไหนเหมาะกับ MongoDB
- Database, Collection, Document และรูปแบบ BSON
- รัน MongoDB 8 ด้วย Docker และใช้งานผ่าน Compass กับ mongosh
- Lab: สร้างฐานข้อมูลร้านค้าตัวอย่างและเพิ่มข้อมูลชุดแรก
Section 2: ออกแบบ Document ให้เหมาะกับการใช้งาน
- Embed กับ Reference ต่างกันอย่างไร และเลือกเมื่อใด
- ออกแบบตามรูปแบบการอ่านข้อมูลของแอป
- Schema Validation เพื่อคุมคุณภาพข้อมูล
- Lab: ออกแบบ Collection สินค้า ลูกค้า และคำสั่งซื้อ
Section 3: Lab: CRUD ด้วย MongoDB C# Driver
- ติดตั้ง MongoDB.Driver และลงทะเบียน MongoClient แบบ Singleton
- Map คลาส C# กับ Document ด้วย Attribute และ Convention
- Insert, Find, Update และ Delete ด้วย Builders และ Filter
- ทำงานกับ BsonDocument โดยตรงเมื่อโครงสร้างข้อมูลไม่แน่นอน
- Lab: Service จัดการข้อมูลสินค้าครบทุกคำสั่ง
Section 4: LINQ และ Aggregation Pipeline
- เขียน Query ด้วย LINQ Provider ของ Driver รุ่นปัจจุบัน
- Aggregation Pipeline: $match, $group, $project, $lookup และ $unwind
- เขียน Pipeline ด้วย C# แบบ Type-safe
- Lab: รายงานยอดขายตามหมวดหมู่และเดือน
Section 5: Index, GridFS และความปลอดภัย
- สร้าง Index และอ่านผล explain เพื่อดูความเร็วของ Query
- Database Profiler สำหรับหา Query ที่ช้า
- เก็บไฟล์ขนาดใหญ่ด้วย GridFS
- Transaction หลาย Document และการกำหนดผู้ใช้กับ Role
- Lab: เพิ่ม Index ให้ Query ที่ช้าและเก็บรูปสินค้าด้วย GridFS