اموزشگاه برتر استان البرز

آموزش کار با دیتابیس NoSQL (مثلاً MongoDB) همراه با پایتون

برچسب ها


ICDL آموزش برنامه نویسی آموزش برنامه نویسی به کودکان آموزش برنامه نویسی در کرج آموزش برنامه نویسی در گلشهر کرج آموزش حسابداری آموزش حسابداری بازار کار در کرج آموزش حسابداری بازارکار در کرج آموزش حسابداری تکمیلی آموزش حسابداری در کرج آموزش حسابداری در گلشهر کرج آموزش حسابداری صنعتی آموزش حسابداری مقدماتی در کرج آموزش طلاسازی آموزش پایتون آموزش پایتون کرج آموزش کامپیوتر در کرج آموزش کامپیوتر در گلشهر کرج آموزشگاه حسابداری آموزشگاه حسابداری در کرج آموزشگاه حسابداری در گلشهر کرج آموزشگاه فنی و حرفه ای آموزشگاه فنی و حرفه ای البرز آموزشگاه فنی و حرفه ای در البرز آموزشگاه فنی و حرفه ای در کرج آموزشگاه فنی و حرفه ای در گلشهر کرج آموزشگاه فنی و حرفه ای گلشهر آموزشگاه فنی و حرفه ای گلشهر کرج آموزشگاه کامپیوتر در البرز آموزشگاه کامپیوتر در کرج آموزشگاه کامپیوتر در گلشهر کرج آموزشگاه کامپیوتر و حسابداری البرز آموزشگاه کامپیوتر گلشهر کرج آموزشگاه کامیپوتر کرج بهترین آموزشگاه حسابداری در کرج حسابداری حسابداری بازار کار حسابداری بازارکار در کرج حسابداری صنعتی حسابداری مالی دوره آموزش حسابداری طراحی سایت و سئو فروشندگی طلا مدرک فنی و حرفه ای پایتون

شبکه های اجتماعی


آموزشگاه برنامه نویسی در کرج

آموزش کار با دیتابیس NoSQL (مثلاً MongoDB) همراه با پایتون 🗃️🐍

در دنیای مدرن توسعه نرم‌افزار، داده‌ها دیگر همیشه در جداول شسته و رفته با ستون‌های ثابت قرار نمی‌گیرند. با ظهور شبکه‌های اجتماعی، اینترنت اشیاء (IoT) و کلان‌داده‌ها (Big Data)، نیاز به راهکارهای ذخیره‌سازی انعطاف‌پذیرتر به شدت احساس شد. اینجاست که دیتابیس‌های NoSQL (Not Only SQL) وارد میدان شدند. MongoDB به عنوان محبوب‌ترین دیتابیس NoSQL “سند-گرا” (Document-Oriented) شناخته می‌شود. از طرفی، پایتون (Python) به دلیل سادگی و قدرت، به زبان اول برای کار با داده‌ها تبدیل شده است. ترکیب پایتون و MongoDB، یک زوج قدرتمند برای ساخت اپلیکیشن‌های مدرن، سریع و مقیاس‌پذیر است.


چرا NoSQL؟ تفاوت SQL و NoSQL به زبان ساده 🤔

برای دهه‌ها، دیتابیس‌های رابطه‌ای (SQL) مانند MySQL یا PostgreSQL پادشاه بودند. آن‌ها داده‌ها را در جداول (Tables) با سطرها (Rows) و ستون‌های (Columns) از پیش تعریف‌شده (Schema) ذخیره می‌کنند. این ساختار برای داده‌های مالی، حسابداری یا انبارداری که ساختار ثابتی دارند، عالی است.

اما NoSQL آمد تا محدودیت‌های Schema را بشکند.

  • انعطاف‌پذیری Schema:** در NoSQL (و به خصوص MongoDB)، شما می‌توانید داده‌ها را همانطور که هستند ذخیره کنید. یک “سند” (Document) می‌تواند ۵ فیلد داشته باشد و سند بعدی ۱۰ فیلد. این برای داده‌هایی که دائماً در حال تغییر هستند (مانند پروفایل کاربران) ایده‌آل است.
  • مقیاس‌پذیری افقی (Horizontal Scaling):** دیتابیس‌های NoSQL طوری طراحی شده‌اند که به جای ارتقای یک سرور غول‌پیکر (عمودی)، به راحتی بر روی چندین سرور ارزان‌تر (افقی) توزیع شوند.
  • سرعت برای داده‌های حجیم: برای حجم عظیمی از داده‌های بدون ساختار یا نیمه‌ساختاریافته، NoSQL اغلب عملکرد سریع‌تری در خواندن و نوشتن ارائه می‌دهد.

آشنایی با مفاهیم MongoDB (ترجمه از SQL) 🔄

اگر با SQL آشنا هستید، یادگیری MongoDB بسیار ساده است. این جدول معادل‌ها را نشان می‌دهد:

مفهوم در SQL (رابطه‌ای) مفهوم معادل در MongoDB (سند-گرا) توضیح
Database (دیتابیس) Database (دیتابیس) یک مخزن برای نگهداری داده‌ها (بدون تغییر)
Table (جدول) Collection (کالکشن) گروهی از اسناد مرتبط (مانند کالکشن users)
Row (سطر) Document (سند) یک رکورد داده، شبیه به یک فایل JSON یا دیکشنری پایتون.
Column (ستون) Field (فیلد) یک جفت Key-Value در داخل یک Document (مانند “name”: “Ali”).
JOINs Embedding / Aggregation در NoSQL، ترجیح بر این است که داده‌های مرتبط *درون* یک سند ذخیره شوند (Embedding).

شروع کار: پایتون + `pymongo` 🐍

`pymongo` کتابخانه رسمی و استاندارد پایتون برای کار با MongoDB است.

گام ۱: نصب و اتصال

ابتدا `pymongo` را نصب کنید (و `dnspython` برای اتصال به کلاستر MongoDB Atlas). فرض می‌کنیم شما یک دیتابیس MongoDB (چه روی سیستم خودتان یا روی Atlas) راه‌اندازی کرده‌اید.

pip install pymongo[srv]

from pymongo.mongo_client import MongoClient

# Connection String (رشته اتصال)
# اگر از MongoDB محلی استفاده می‌کنید:
# uri = "mongodb://localhost:27017/"
# اگر از MongoDB Atlas (ابری) استفاده می‌کنید:
uri = "mongodb+srv://:@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority"

# Create a new client and connect to the server
client = MongoClient(uri)

# Send a ping to confirm a successful connection
try:
    client.admin.command('ping')
    print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
    print(e)

# --- انتخاب دیتابیس و کالکشن ---
db = client["my_database"] # نام دیتابیس شما (اگر وجود نداشته باشد، ساخته می‌شود)
collection = db["users"] # نام کالکشن شما (مانند جدول users)
        

گام ۲: عملیات CRUD (Create, Read, Update, Delete)

زیبایی `pymongo` در این است که شما مستقیماً با دیکشنری‌های پایتون کار می‌کنید.

# === CREATE (ایجاد) ===
# ساخت یک "سند" (دیکشنری پایتون)
new_user = {
    "name": "سارا",
    "age": 28,
    "city": "تهران",
    "skills": ["Python", "MongoDB", "Flask"]
}
# درج سند در کالکشن
result = collection.insert_one(new_user)
print(f"User created with ID: {result.inserted_id}")

# === READ (خواندن) ===
# پیدا کردن یک سند
found_user = collection.find_one({"name": "سارا"})
print(f"Found user: {found_user}")

# پیدا کردن چندین سند (مثلاً همه کاربران بالای 25 سال)
print("\nUsers over 25:")
users_over_25 = collection.find({"age": {"$gt": 25}}) # $gt = Greater Than
for user in users_over_25:
    print(user)

# === UPDATE (به‌روزرسانی) ===
# اضافه کردن یک مهارت جدید به سارا
collection.update_one(
    {"name": "سارا"},
    {"$push": {"skills": "React"}} # $push برای اضافه کردن به آرایه
)
# تغییر سن
collection.update_one(
    {"name": "سارا"},
    {"$set": {"age": 29}} # $set برای تغییر یا افزودن فیلد
)
print(f"\nUpdated user: {collection.find_one({'name': 'سارا'})}")

# === DELETE (حذف) ===
# حذف یک سند
collection.delete_one({"name": "سارا"})
print(f"\nUser 'سارا' deleted. Count: {collection.count_documents({'name': 'سارا'})}")
        

جمع‌بندی: پایتون + MongoDB، زوجی ایده‌آل ✅

ترکیب پایتون و MongoDB به دلیل شباهت ذاتی “دیکشنری” پایتون و “سند” BSON/JSON، یکی از روان‌ترین و طبیعی‌ترین تجربه‌های توسعه است. شما نیازی به ترجمه داده‌های خود به ساختارهای جدولی پیچیده ندارید. این انعطاف‌پذیری، توسعه اپلیکیشن‌های وب (با Flask/Django)، APIها و ابزارهای تحلیل داده را به شدت تسریع می‌کند. یادگیری کار با دیتابیس‌های NoSQL مانند MongoDB، مهارتی کلیدی برای هر توسعه‌دهنده پایتون مدرن است که در دوره‌های آموزش پایتون در آموزشگاه البرز به صورت عملی و پروژه‌محور تدریس می‌شود.

با داده‌های مدرن، اپلیکیشن‌های مدرن بسازید! 🌐

با یادگیری پایتون و تسلط بر دیتابیس‌های NoSQL مانند MongoDB، می‌توانید اپلیکیشن‌های مقیاس‌پذیر و انعطاف‌پذیری بسازید که آماده مدیریت هر نوع داده‌ای هستند.

  • ✅ آموزش پایتون از مقدماتی تا پیشرفته
  • ✅ کار عملی با MongoDB و کتابخانه `pymongo`
  • ✅ انجام پروژه‌های CRUD با دیتابیس‌های NoSQL

ثبت‌نام در دوره پایتون پیشرفته
fa_IR