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

  1. MongoDB nima? NoSQL vs SQL, qachon MongoDB tanlash kerak
  2. O'rnatish — Windows, Mac, Linux, Docker bilan
  3. MongoDB Compass va mongosh — asosiy ishlatish
  4. Database, Collection, Document — tuzilishi, BSON nima
  5. Ma'lumot turlari — String, Number, Boolean, Date, ObjectId, Array, Object, Null

CRUD

  1. insertOne, insertMany — hujjat qo'shish
  2. find, findOne — filter, projection, sort, limit, skip
  3. Query operatorlari — $eq, $gt, $lt, $in, $nin, $exists, $regex
  4. updateOne, updateMany — $set, $unset, $inc, $push, $pull
  5. upsert, findOneAndUpdate, findOneAndDelete
  6. deleteOne, deleteMany — xavfli holatlar
  7. bulkWrite — bir nechta operatsiyani birga bajarish

Schema Dizayn

  1. Embedding vs Referencing — qachon qaysinisi
  2. One-to-Many — embedding va referencing bilan
  3. Many-to-Many — qanday loyihalash
  4. Schema Patterns — Bucket, Outlier, Computed, Subset
  5. Schema Validation — $jsonSchema, validator

Aggregation Pipeline

  1. Aggregation Pipeline nima, qanday ishlaydi (tez kunda)
  2. $match, $project, $addFields, $set, $unset (tez kunda)
  3. $group — $sum, $avg, $min, $max, $count, $push (tez kunda)
  4. $sort, $limit, $skip, $count (tez kunda)
  5. $lookup — JOIN o'rnida, pipeline bilan (tez kunda)
  6. $unwind — array ni yoyish (tez kunda)
  7. $facet, $bucket, $bucketAuto — murakkab tahlil (tez kunda)
  8. $setWindowFields — window functions (tez kunda)

Index va Performance

  1. Index nima, qanday ishlaydi, qachon kerak (tez kunda)
  2. Index turlari — Single, Compound, Multikey, Text, Geospatial (tez kunda)
  3. explain() — query plan o'qish, COLLSCAN vs IXSCAN (tez kunda)
  4. Query optimizatsiya — index strategiyasi, qoidalar (tez kunda)
  5. Text Search — $text, $search, score bo'yicha saralash (tez kunda)

Transaction va Xavfsizlik

  1. Transaction — ACID, startSession, commitTransaction, abortTransaction (tez kunda)
  2. User yaratish, Role, huquqlarni boshqarish (tez kunda)
  3. Encryption at rest va in transit — TLS/SSL (tez kunda)
  4. Backup va Restore — mongodump, mongorestore (tez kunda)

Replica Set va Sharding

  1. Replica Set — Primary, Secondary, Arbiter, avtomatik failover (tez kunda)
  2. Read Concern va Write Concern — consistency sozlash (tez kunda)
  3. Sharding — horizontal scaling, shard key tanlash (tez kunda)

Mongoose — Asoslar

  1. Mongoose nima, o'rnatish, MongoDB ga ulanish (tez kunda)
  2. Schema va Model — yaratish, field turlari, options (tez kunda)
  3. Schema Types — String, Number, Date, Boolean, ObjectId, Mixed, Map (tez kunda)
  4. Validation — required, min, max, enum, custom validator (tez kunda)
  5. CRUD — save, find, findById, updateOne, deleteOne (tez kunda)
  6. Query metodlari — where, select, sort, limit, skip, lean (tez kunda)

Mongoose — Ilg'or

  1. populate — referencing, nested populate (tez kunda)
  2. Virtuals — virtual field, virtual populate (tez kunda)
  3. Middleware (Hooks) — pre, post, save, find, remove (tez kunda)
  4. Statics va Methods — model va instance metodlari (tez kunda)
  5. Plugins — mongoose-paginate, mongoose-unique-validator (tez kunda)
  6. Mongoose bilan Aggregation Pipeline (tez kunda)
  7. Mongoose bilan Transaction — session (tez kunda)
  8. Discriminator — bir collection, bir nechta schema (tez kunda)

Atlas va Deployment

  1. MongoDB Atlas — cloud database, cluster yaratish (tez kunda)
  2. Atlas Search — full-text search, fuzzy, autocomplete (tez kunda)
  3. Atlas Triggers va Functions — serverless logika (tez kunda)
  4. Monitoring — Atlas Performance Advisor, slow queries (tez kunda)

Amaliy va Professional

  1. Pagination — offset va cursor based, Mongoose bilan (tez kunda)
  2. Soft Delete — deletedAt, mongoose-delete plugin (tez kunda)
  3. Caching — Redis bilan MongoDB natijalarini keshlash (tez kunda)
  4. Migration — migrate-mongo bilan schema o'zgarishlarini boshqarish (tez kunda)
  5. Real loyiha — to'liq schema loyihalash, Mongoose bilan yozish (tez kunda)