MongoDB kursi
NoSQL document database va Mongoose ODM. Moslashuvchan schema, aggregation va Node.js integratsiya.
Boshlang'ich · 60 ta dars · ~5 hafta
Mavzular: MongoDB asoslari, CRUD, Aggregation, Index, Schema Design, Mongoose, Transactions, Replication, Sharding, Performance
Kirish va O'rnatish
- MongoDB nima? NoSQL vs SQL, qachon MongoDB tanlash kerak
- O'rnatish — Windows, Mac, Linux, Docker bilan
- MongoDB Compass va mongosh — asosiy ishlatish
- Database, Collection, Document — tuzilishi, BSON nima
- Ma'lumot turlari — String, Number, Boolean, Date, ObjectId, Array, Object, Null
CRUD
- insertOne, insertMany — hujjat qo'shish
- find, findOne — filter, projection, sort, limit, skip
- Query operatorlari — $eq, $gt, $lt, $in, $nin, $exists, $regex
- updateOne, updateMany — $set, $unset, $inc, $push, $pull
- upsert, findOneAndUpdate, findOneAndDelete
- deleteOne, deleteMany — xavfli holatlar
- bulkWrite — bir nechta operatsiyani birga bajarish
Schema Dizayn
- Embedding vs Referencing — qachon qaysinisi
- One-to-Many — embedding va referencing bilan
- Many-to-Many — qanday loyihalash
- Schema Patterns — Bucket, Outlier, Computed, Subset
- Schema Validation — $jsonSchema, validator
Aggregation Pipeline
- Aggregation Pipeline nima, qanday ishlaydi (tez kunda)
- $match, $project, $addFields, $set, $unset (tez kunda)
- $group — $sum, $avg, $min, $max, $count, $push (tez kunda)
- $sort, $limit, $skip, $count (tez kunda)
- $lookup — JOIN o'rnida, pipeline bilan (tez kunda)
- $unwind — array ni yoyish (tez kunda)
- $facet, $bucket, $bucketAuto — murakkab tahlil (tez kunda)
- $setWindowFields — window functions (tez kunda)
Index va Performance
- Index nima, qanday ishlaydi, qachon kerak (tez kunda)
- Index turlari — Single, Compound, Multikey, Text, Geospatial (tez kunda)
- explain() — query plan o'qish, COLLSCAN vs IXSCAN (tez kunda)
- Query optimizatsiya — index strategiyasi, qoidalar (tez kunda)
- Text Search — $text, $search, score bo'yicha saralash (tez kunda)
Transaction va Xavfsizlik
- Transaction — ACID, startSession, commitTransaction, abortTransaction (tez kunda)
- User yaratish, Role, huquqlarni boshqarish (tez kunda)
- Encryption at rest va in transit — TLS/SSL (tez kunda)
- Backup va Restore — mongodump, mongorestore (tez kunda)
Replica Set va Sharding
- Replica Set — Primary, Secondary, Arbiter, avtomatik failover (tez kunda)
- Read Concern va Write Concern — consistency sozlash (tez kunda)
- Sharding — horizontal scaling, shard key tanlash (tez kunda)
Mongoose — Asoslar
- Mongoose nima, o'rnatish, MongoDB ga ulanish (tez kunda)
- Schema va Model — yaratish, field turlari, options (tez kunda)
- Schema Types — String, Number, Date, Boolean, ObjectId, Mixed, Map (tez kunda)
- Validation — required, min, max, enum, custom validator (tez kunda)
- CRUD — save, find, findById, updateOne, deleteOne (tez kunda)
- Query metodlari — where, select, sort, limit, skip, lean (tez kunda)
Mongoose — Ilg'or
- populate — referencing, nested populate (tez kunda)
- Virtuals — virtual field, virtual populate (tez kunda)
- Middleware (Hooks) — pre, post, save, find, remove (tez kunda)
- Statics va Methods — model va instance metodlari (tez kunda)
- Plugins — mongoose-paginate, mongoose-unique-validator (tez kunda)
- Mongoose bilan Aggregation Pipeline (tez kunda)
- Mongoose bilan Transaction — session (tez kunda)
- Discriminator — bir collection, bir nechta schema (tez kunda)
Atlas va Deployment
- MongoDB Atlas — cloud database, cluster yaratish (tez kunda)
- Atlas Search — full-text search, fuzzy, autocomplete (tez kunda)
- Atlas Triggers va Functions — serverless logika (tez kunda)
- Monitoring — Atlas Performance Advisor, slow queries (tez kunda)
Amaliy va Professional
- Pagination — offset va cursor based, Mongoose bilan (tez kunda)
- Soft Delete — deletedAt, mongoose-delete plugin (tez kunda)
- Caching — Redis bilan MongoDB natijalarini keshlash (tez kunda)
- Migration — migrate-mongo bilan schema o'zgarishlarini boshqarish (tez kunda)
- Real loyiha — to'liq schema loyihalash, Mongoose bilan yozish (tez kunda)