آموزش کامل MongoDB و Mongoose - شیرجه عمیق - آخرین آپدیت

دانلود Complete MongoDB and Mongoose Course - Take a Deep Dive

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

علاقه‌مندی قبلی شما به پایگاه‌داده‌های SQL را می‌دانم، اما با تمام وجود نژاد جدیدی از پایگاه‌داده‌های غیر SQL (NoSQL) را تایید می‌کنم - MongoDB.

MongoDB یکی از محبوب‌ترین پایگاه‌داده‌های NoSQL است. ساختار داده پویا (dynamic schema) آن، انعطاف‌پذیری بالایی در ذخیره‌سازی داده فراهم می‌کند و به پروژه‌های شما امکان می‌دهد با نیازهای متغیر مقابله کنند.

چرا MongoDB را یاد بگیریم؟

  • درک نحوه ذخیره و مدیریت داده در MongoDB
  • تسلط بر عملیات پایه مانند CRUD: ایجاد، خواندن، به‌روزرسانی و حذف داده‌ها.
  • ساخت ایندکس (Indexes): برای بهبود سرعت جستجو و بازیابی اطلاعات.
  • کپد کالکشن‌ها (Capped Collections): برای مدیریت داده‌های با حجم بالا و تاریخچه.
  • انجام عملیات پیچیده کوئری با Aggregation: برای تحلیل و پردازش پیشرفته داده‌ها.
  • ایجاد، راه‌اندازی و مدیریت Replica Sets: برای اطمینان از دسترس‌پذیری و تحمل خطا.
  • مدیریت Sharded Clusters: برای مقیاس‌پذیری افقی و مدیریت داده‌های حجیم.
  • انجام عملیات تراکنش (Transaction Operations): از طریق MongoDB Shell و Node.js Driver.
  • فعال‌سازی کنترل دسترسی مبتنی بر نقش (Role-Based Access Control): برای افزایش امنیت پایگاه‌داده.
  • نظارت بر وضعیت در حال اجرای MongoDB: برای اطمینان از عملکرد صحیح.
  • کار با MongoDB از طریق Node.js: برای توسعه برنامه‌های سمت سرور.

پیش‌نیازها

دانش پایه جاوا اسکریپت: اگر با مفاهیم Object در جاوا اسکریپت آشنا هستید، آماده یادگیری MongoDB خواهید بود!

در این دوره، ابتدا با مفاهیم و عملیات پایه MongoDB آشنا می‌شویم، از جمله نحوه مدیریت داده، عملیات CRUD، ایجاد اعتبارسنجی (validators) و ایندکس‌ها.

سپس، یاد می‌گیریم چگونه وضعیت لحظه‌ای کالکشن‌ها و پایگاه‌داده‌های MongoDB را رصد کنیم.

همچنین موضوعات پیشرفته‌ای مانند Aggregation، Replication و Sharding را پوشش خواهیم داد.

در نهایت، با Mongoose و درایور اصلی MongoDB برای Node.js آشنا خواهیم شد.

هدف ما از ارائه این دوره، تسلط کامل شما بر MongoDB و ارتقای سطح دانش شماست. بنابراین، از پرداختن به مباحث دشوار و پیچیده ابایی نداریم، اما معتقدیم که یک دوره آموزشی خوب باید یادگیری را آسان کند. به همین دلیل، رویکرد دو مرحله‌ای را اتخاذ کرده‌ایم: ابتدا تئوری را به طور کامل شرح می‌دهیم و پس از ایجاد درک اولیه، آموخته‌هایمان را در مثال‌های واقعی پیاده‌سازی می‌کنیم.


سرفصل ها و درس ها

نصب MongoDB MongoDB Installation

  • نصب MongoDB Install MongoDB

  • نصب MongoDB: نمایش عملی MongoDB Installation: Demonstration

  • چالش نصب: اطمینان از درک کامل همه چیز Installation Challenge: Making Sure You Have Fully Understood Everything

  • MongoDB Atlas MongoDB Atlas

مفاهیم پایه MongoDB MongoDB Basic Concepts

  • Daemon، Process و Shell Daemon, Process, and Shell

  • فایل پیکربندی MongoDB MongoDB Config File

  • Schema MongoDB MongoDB Schema

  • مقدمه Shell MongoDB قسمت اول MongoDB Shell Introduction Part 1

  • مقدمه Shell MongoDB قسمت دوم MongoDB Shell Introduction Part 2

  • متدهای Native در Mongo Shell Mongo Shell Native Methods

  • شیء DB و شیء Connection The DB object and the Connection Object

  • تست شیء DB و Connection در Mongo Shell Try the DB and Connection Object on Mongo Shell

  • اجرای Mongo Shell بدون انتخاب پایگاه داده: پرچم --nodb Starting a Mongo Shell without Selecting a Database: the --nodb flag

  • فایل mongorc.js The .mongorc.js file

  • مروری کوتاه بر نحوه کارکرد زنجیره Prototype در JavaScript A Brief Review of How Prototype Chain Works in JavaScript

  • کاربرد فایل mongorc.js Application of the .mongorc.js File

  • اسکریپت‌های Shell و حالت تعاملی Shell Scripts and the Interactive Mode

  • آنچه در ادامه خواهیم آموخت What We Are About to Learn Next

قوانین نام‌گذاری و BSON Naming Rules and BSON

  • قوانینی که باید هنگام نام‌گذاری پایگاه‌های داده، مجموعه‌ها و فیلدها رعایت کنید Rules You Must Follow When Naming Databases, Collections and Fields

  • مقدمه BSON BSON Introduction

  • نوع داده BSON BSON Data Type

عملیات CRUD در MongoDB MongoDB CRUD Operations

  • آماده‌سازی برای مطالعه CRUD CRUD Study Preparation

  • ایجاد (Create) Create

  • درج یک سند در یک زمان Insert One Document at a Time

  • درج چند سند به صورت همزمان Insert Multiple Documents Together

  • تست متد insertMany Try the insertMany Method

  • دستور Insert The Insert Command

  • شیء Cursor The Cursor Object

  • عملگرهای Query Query Operators

  • تست عملگرهای Query Try Query Operators

  • مقدمه Collation Collation Introduction

  • کاربرد Collation در ایجاد Query ها Application of Collation in Making Queries

  • نحوه کار با آرایه تو در تو How to Work with Nested Array

  • نحوه کار با اسناد تو در تو قسمت اول How to Work with Nested Documents Part 1

  • نحوه کار با اسناد تو در تو قسمت دوم How to Work with Nested Documents Part 2

  • شیء Cursor و متدهای آن The Cursor Object and Its Methods

  • نحوه کپی کردن یک Collection How to Copy a Collection

  • مقدمه Update Introduction to Update

  • نمایش عملی به‌روزرسانی اسناد Demonstration of Updating Documents

  • Upsert: ترکیبی از Insert و Update Upsert: the Combination of Insert and Update

  • نحوه به‌روزرسانی مقادیر از نوع Date How to Update Date-type Values

  • به‌روزرسانی‌های مربوط به آرایه قسمت اول Array-related Updates Part 1

  • به‌روزرسانی‌های مربوط به آرایه قسمت دوم Array-related Updates part 2

  • عملگر addToSet: بدون عناصر تکراری The addToSet Operator: No Duplicated Elements

  • سه عملگر به‌روزرسانی: $، $[ ] و $[identifier] The Three Element Updaters: $, $[], and $[identifier]

  • عملیات Delete The Delete Operation

Index Index

  • مقدمه Index Introduction to Index

  • متدهای مربوط به Index Index-related Methods

  • نمایش عملی ایجاد و استفاده از Index ها Demonstration of Creating and Using Indexes

  • ساخت Index برای آرایه‌ها Build Indexes for Arrays

  • Index پراکنده (Sparse Index) The Sparse Index

  • Index TTL The TTL Index

  • مقدمه Text Index Introduction to the Text Index

  • Text Index The Text Index

  • وزن فیلد (Field Weight) Field Weight

  • تنظیم وزن فیلد Setting the Field Weight

Capped Collection Capped Collection

  • مقدمه Capped Collections Introduction to Capped Collections

  • کار با Capped Collection Working with a Capped Collection

  • Cursor قابل دنبال کردن (Tailable Cursor) Tailable Cursor

Validator Validator

  • مقدمه Validator Introduction to Validator

  • تست Validator Try the Validator

Storage Engine و Journaling Storage Engine and Journaling

  • Storage Engine و Checkpoint Storage Engine and Checkpoint

  • Journaling Journaling

  • آمار پایگاه داده و Collection Database and Collection Stats

  • آزاد کردن دستی فضای ذخیره‌سازی به سیستم عامل Manually Release Storage Space Back to OS

Aggregation Aggregation

  • مقدمه Aggregation Aggregation Introduction

  • مرحله Pipeline و عملگرها Pipeline Stage and Operators

  • طراحی Aggregation Pipeline Design the Aggregation Pipeline

  • تست Aggregation Pipeline Try the Aggregation Pipeline

  • عملگرهای $avg و $sum The $avg and $sum Operator

  • تست عملگرهای $avg و $sum Try the $avg and $sum Operator

  • عملگرهای $round و $trunc The $round and $trunc Operator

  • گرد کردن میانگین امتیازات کاربران Rounding Average User Ratings

  • چالش: محاسبه قیمت نهایی: قیمت، مالیات بر ارزش افزوده، تخفیف و هزینه حمل و نقل Challenge: Calculating the Final Price: Price, VAT, Discount and Shipping Fee

  • سایر عملگرهای رایج Aggregation Other Commonly Used Aggregation Operators

  • عملگر $expr: یافتن محصولات سودآور The $expr Operator: Finding Profitable Products

  • مرحله $group The $group Stage

  • $sort، $skip، $limit و $count $sort, $skip, $limit and $count

  • مرتب‌سازی اسناد بر اساس TextScore در جستجوی متنی/کلیدواژه‌ای Sort Documents Based on the TextScore During a Text/Keyword Search

  • $unwind $unwind

  • $sortByCount: ترکیبی از $group، $sum و $$sort $sortByCount: a Combination of $group, $sum and $$sort

  • مقدمه $bucket و $bucketAuto Introduction to $bucket and $bucketAuto

  • کاربرد مرحله $bucket Application of the $bucket Stage

  • کاربرد مرحله $bucketAuto Application of the $bucketAuto Stage

  • $facet: استفاده مجدد از نتایج مرحله قبل $facet: Reuse Results of the Previous Stage

  • $arrayElemAt: بازیابی عناصر بر اساس Index $arrayElemAt: Retrieving Elements Based on Index

  • چالش: یافتن خودرو با بیشترین مسافت پیموده شده Challenge: Find the Car with the Highest Mileage

  • Join سمت چپ: $lookUp The Left Join: $lookUp

  • کاربرد مرحله $lookUp: بازیابی همزمان محصولات و امتیازات Application of the $lookUp stage: Retrieving Products and Ratings Together

  • استفاده از $lookUp به روش دیگر Using $lookUp the Other Way

  • $out: ذخیره نتایج Aggregation برای استفاده آتی $out: Keep Aggregation Results for Future Use

  • مقدمه مرحله $merge که کمی پیچیده است Introduction to the Slightly Complicated $merge Stage

  • تست مرحله $merge Try the $merge Stage

  • View: نسخه‌ای فقط خواندنی از یک Collection View: a Read-Only Copy of a Collection

  • مقدمه MapReduce Introduction to MapReduce

  • تست تابع mapReduce Try the mapReduce Function

Replica Replica

  • مقدمه Replica Set Introduction to a Replica Set

  • درک نحوه کار Replica Set Understanding How a Replica Set Works

  • نحوه راه‌اندازی Replica Set How to Set Up a Replica Set

  • راه‌اندازی اولین Replica Set ما Set Up Our First Replica Set

  • Oplog Oplog

  • تاخیر Replication (Replication Lag) The Replication Lag

  • مشکلات ناشی از تاخیر Replication Problems Caused by the Replication Lag

  • همگام‌سازی اولیه (Initial Sync) Initial Sync

  • انتخاب و همگام‌سازی (Election and Catch-up) Election and Catch-up

  • نوشتن‌های قابل تلاش مجدد (Retryable Writes) Retryable Writes

  • Write Concern: W، J و wTimeout Write Concern: W, J, and wTimeout

  • Write Concern سفارشی: تگ‌ها (Tags) Custom Write Concern: Tags

  • بازگشت به عقب Rollback

  • نگرانی نوشتن سفارشی: برچسب ها Custom Write Concern: Tags

  • مقدمه متدهای رایج Replica Introduction to Commonly Used Replica Methods

  • مقدمه ای بر روش های متداول ماکت سازی Introduction to Commonly Used Replica Methods

  • اضافه و حذف عضو با تاخیر (Delayed Set Member) Add and Remove a Delayed Set Member

  • افزودن و حذف یک عضو مجموعه تاخیری Add and Remove a Delayed Set Member

  • ترجیح خواندن (Read Preference) Read Preference

  • سازگاری علی (Causal Consistency) Causal Consistency

  • اولویت را بخوانید Read Preference

  • خواندن و نوشتن یکنواخت (Monotonic Read and Write) Monotonic Read and Write

  • سازگاری علی Causal Consistency

  • خواندن و نوشتن یکنواخت Monotonic Read and Write

  • بازگردانی (Rollback) Rollback

  • نگرانی خواندن (Read Concern) Read Concern

  • تست نگرانی خواندن "Majority" و "Linearizable" Try the "Majority" and "Linearizable" Read Concern

Sharding Sharding

  • مقدمه Sharding Introduction to Sharding

  • کلید Shard (Shard Key) Shard Key

  • استراتژی Sharding Sharding Strategy

  • قطعات (Chunks) Chunks

  • اجزای یک کلاستر Sharded Components of a Sharded Cluster

  • مقدمه نحوه راه‌اندازی یک کلاستر Sharded جدید Introduction of How to Set Up a New Sharded Cluster

  • راه‌اندازی یک کلاستر Sharded جدید Setting Up a New Sharded Cluster

  • عملیات یک کلاستر Sharded قسمت اول Operating a Sharded Cluster Part One

  • عملیات یک کلاستر Sharded قسمت دوم Operating a Sharded Cluster Part Two

  • انتقال دستی یک Chunk به Shard تعیین شده Manually Moving a Chunk to a Designated Shard

  • تقسیم دستی یک Chunk Manually Splitting a Chunk

  • ادغام دستی دو Chunk در یک Chunk Manually Merging Two Chunks into One

  • به‌روزرسانی مقادیر فیلد کلید Shard Updating Shard Key Field Values

  • نحوه حذف اسناد از یک کلاستر Sharded How to Delete Documents from a Sharded Cluster

  • چه اتفاقی می‌افتد اگر تمام سرورهای پیکربندی را از دست بدهیم What Happens If We Lost All Config Servers

  • مقدمه Zones در Sharding Introduction to Shard Zones

  • ایجاد و حذف Zone برای Shard ها Create and Delete a Zone for Shards

  • محدود کردن مهاجرت Chunk با استفاده از Zones Limiting Chunk Migrations Using Zones

  • نحوه مهاجرت Chunk توسط Balancer و نحوه برخورد با اسناد یتیم (Orphaned Documents) How the Balancer Migrates Chunks and How to Deal With Orphaned Documents

  • ویژگی جدید معرفی شده در v4.4: اضافه کردن فیلدهای جدید به Index کلید Shard New Feature Brought by v4.4: Adding New Fields to the Shard Key Index

  • پاک کردن حافظه کش جدول مسیریابی (Flush the Routing Table) Flush the Routing Table

Transaction Transaction

  • ویژگی‌های ACID The ACID Properties

  • تراکنش چند سندی (Multi-document Transaction) Multi-document Transaction

  • نحوه استفاده از تراکنش در Mongo Shell How to Use Transaction on Mongo Shell

  • اجرای عملیات تراکنش روی Replica Set Running a Transaction Operation on a Replica Set

  • کاربرد: به‌روزرسانی مقادیر فیلد کلید Shard Application: Updating Shard Key Field Values

امنیت و کنترل دسترسی مبتنی بر نقش Security and Role-based Access Control

  • مقدمه کنترل دسترسی کاربر Introduction to User Access Control

  • نمایش عملی کنترل دسترسی مبتنی بر نقش Role-based Access Control Demonstration

  • نقش‌های داخلی دیگر Other Built-in Roles

  • تست نقش‌های داخلی دیگر Trying Other Built-in Roles

  • نقش‌های سفارشی (Custom Roles) Custom Roles

  • ایجاد حساب کاربری با نقش‌های تعریف شده توسط کاربر Create a User Account with User-defined Roles

  • ایجاد نقش سفارشی و حساب کاربری برای مدیریت رمزهای عبور Create a Custom Role and User Account to Manage Passwords

  • آزمایش کنترل دسترسی مبتنی بر نقش روی Replica Set Experimenting Role-based Access Control on a Replica Set

  • مکانیزم احراز هویت (Authentication Mechanism) Authentication Mechanism

  • مقدمه KeyFile Introduction to KeyFile

  • فعال‌سازی احراز هویت داخلی روی Replica Set Enabling Internal Authentication on a Replica Set

  • فعال‌سازی احراز هویت در Replica Set بدون قطعی سرویس Enabling Internal Authentication in a Replica Set Without Down Time

  • چرخش کلیدها (Rotating Keys) Rotating Keys

  • فعال‌سازی احراز هویت برای کلاستر Sharded Enabling Authentication for a Sharded Cluster

Change Stream Change Stream

  • مقدمه Change Stream Change Stream Introduction

  • فیلتر کردن رویدادهای تغییر (Filter Change Events) Filter Change Events

GridFS: آپلود و دانلود فایل‌ها GridFS: Uploading and Downloading Files

  • مقدمه GridFS GridFS Introduction

  • آپلود، لیست کردن، جستجو و دانلود فایل‌ها با استفاده از GridFS Upload, List, Search and Download Files Using GridFS

پشتیبان‌گیری و بازیابی Backup and Restore

  • پشتیبان‌گیری و بازیابی یک فرآیند mongod مستقل Backup and Restore a Standalone Mongod Process

  • پشتیبان‌گیری و بازیابی یک Replica Set Backup and Restore a Replica Set

NodeJS Driver NodeJS Driver

  • راه‌اندازی NodeJS MongoDB Driver و اتصال به MongoDB Set Up a NodeJS MongoDB Driver and Connect to MongoDB

  • خواندن اسناد با استفاده از NodeJS Driver Reading Documents Using a NodeJS Driver

  • درج اسناد جدید و ایجاد Capped Collection Inserting New Documents and Creating a Capped Collection

  • حذف و به‌روزرسانی اسناد Deleting and Updating Documents

  • آماده‌سازی برای ایجاد برنامه تراکنش با استفاده از NodeJS Preparation for Creating a Transaction Program Using NodeJS

  • Transaction Transaction

  • session.withTransaction() session.withTransaction()

دانش ضروری JavaScript برای NodeJS MongoDB Driver Essential JavaScript Knowledge for the MongoDB NodeJS Driver

  • اعلام متغیر با استفاده از VAR و LET Declaring a variable using VAR and LET

  • LET LET

  • منطقه مرده زمانی (Temporal Dead Zone) Temporal Dead Zone

  • اختصاص Destructure قسمت اول Destructure Assignment Part 1

  • اختصاص Destructure قسمت دوم Destructure Assignment Part 2

  • Async Await قسمت اول Async Await Part 1

  • Async Await قسمت دوم Async Await Part 2

Mongoose Mongoose

  • مقدمه Mongoose Introduction to Mongoose

  • شروع سریع (Quick Start) Quick Start

  • چرا "یک برنامه نادرست" می‌تواند کار کند Why "An Incorrect Program" CAN Work

  • نحوه برخورد با کنترل دسترسی کاربر How to Deal With User-access Control

  • ایجاد چندین اتصال با پایگاه داده‌های مختلف Create Multiple Connections with Different Databases

  • تغییر از یک پایگاه داده به پایگاه داده دیگر Switching from One Database to Another

  • درک رابطه بین Models و Connection Objects Understanding the Relationship Between Models and Connection Objects

  • مبانی Mongoose Schema Mongoose Schema Basics

  • نمایش عملی Mongoose Schema Mongoose Schema Demo

  • نحوه کار با تاریخ در Mongoose How to Work with Mongoose Date

  • زیر سند (SubDocument) و مسیر تو در تو (Nested Path) SubDocument and Nested Path

  • آرایه Mongoose Mongoose Array

  • گزینه‌های Mongoose Schema: Index Mongoose Schema Options: Index

  • گزینه‌های Mongoose Schema: ID Mongoose Schema Options: ID

  • گزینه‌های Mongoose Schema: نام Collection سفارشی و Capped Collection Mongoose Schema Options: Custom Collection Name and Capped Collection

  • ویژگی‌های مجازی (Virtual Properties) و نام مستعار خصوصیت (Property Aliases) Virtual Properties and Property Aliases

  • متدهای نمونه (Schema Instance) و استاتیک (Static Methods) Mongoose Schema Instance and Static Methods

  • مرور CRUD در Mongoose Mongoose CRUD Review

  • Query در Mongoose قسمت اول Mongoose Query Part 1

  • Query در Mongoose قسمت دوم Mongoose Query Part 2

  • مقدمه Aggregation در Mongoose Mongoose Aggregation Introduction

  • LookUp در Mongoose Mongoose LookUp

  • Populate در Mongoose Mongoose Populate

  • حفظ ویژگی‌های مجازی در طول تبدیل Keeping Virtual Properties During a Conversion

  • Populate کردن ویژگی‌های مجازی Populating Virtual Properties

  • مقدمه Validator در Mongoose Mongoose Validator Introduction

  • فعال‌سازی Validator بدون ذخیره سند Trigger the Validator Without Saving a Document

  • تنظیم پیام‌های خطای اعتبارسنجی سفارشی Setting Custom Validation Error Messages

  • Validator سفارشی Custom Validator

  • Validator به‌روزرسانی Update Validator

  • THIS در تابع Validator THIS in a Validator Function

  • پیام خطای Validator ناهمزمان (Async Validator) Async Validator Error Message

  • کاربرد Validator: نام کاربری منحصر به فرد Validator Application: Unique User Account Name

  • مقدمه Middleware در Mongoose Mongoose Middleware Introduction

  • Document Middleware Document Middleware

  • Query Middleware Query Middleware

  • Aggregation Middleware Aggregation Middleware

  • Collection Middleware Collection Middleware

  • Validator Middleware Validator Middleware

  • ترتیب اجرای Middleware The Execution Order of Middleware

  • خطاهای Middleware Middleware Errors

  • تداخل نام‌گذاری Middleware: Document در مقابل Query Middleware Naming Collisions: Document VS. Query

  • Discriminator در Mongoose Mongoose Discriminator

نمایش نظرات

آموزش کامل MongoDB و Mongoose - شیرجه عمیق
جزییات دوره
16 hours
219
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,700
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

OnlyKiosk Tech OnlyKiosk Tech

ارائه آموزش کدنویسی موثر