۳۰ روز با Node – روز دوازدهم: انجام عملیات اصلی دیتابیس (CRUD) در Nodejs به کمک mongoDB

1 188

mongoDB چیست؟

خب، اول اینکه یک نوع دیتابیس است! منتها برخلاف دیتابیس‌های معروف، از نوع SQL و رابطه‌ای نیست. یک پایگاه داده‌ی سند-گرای متن‌باز، کارا، مقیاس‌پذیر، بدون نیاز به طرح‌بندی اولیه با تفکر چابکی توسعه‌گران که به زبان برنامه‌نویسی سی++ نوشته شده است. سند-گرا (document-oriented) بدین معناست که به جای اینکه همانند پایگاه‌های داده‌های رابطه‌ای کلاسیک، داده‌ها را در جداول ذخیره کند، داده‌های ساختار یافته را در اسنادی با قالبی پویا شبیه به json ذخیره‌سازی می‌کند. این قالب بی‌سون (BSON) نامیده می‌شود.

مزایا:

  1. قالب پویا (Dynamic schema): اگر قالبی انعطاف‌پذیر داشته باشیم، کاملا مناسب اسناد JSON در mongoDB خواهند بود این درحالی است که پیاده‌سازی آن در دیتابیس‌های رابطه‌ایی اصلا ساده نیست.
  2. مقیاس‌پذیری (Scalibility): بسیار مقیاس پذیر است.
  3. ارزان بودن: رایگان و بدون هزینه است.

پیش نیازهای نصب

  1. MongoDB: که از (اینجا) قابل دانلود است. اگر هنگام نصب مانگو و مراجعه به سایت اصلی آن، با خطای تحریم ایران مواجه شدید نسخه ۳٫۴٫۴ ویندوزی آن را از این آدرس می توانید دانلود نمائید.
  2. Node.js: که از (اینجا) می‌توانید دانلود کنید.
  3. NPM: مدیر پکیج همان وقت که نود جی‌ اس را نصب کردید، در دسترستان قرار گرفت.
  4. mongoDB (npm package): به کمک دستور زیر در ترمینال یا خط فرمان میتوان این پکیج را نصب نمود:

ارتباط با دیتابیس

اولین قدم، استقرار یک ارتباط بین mongoDB و اپلیکیشن ما که به کمک نود جی‌ اس نوشته شده:
که در آن:

  • demo_db نام دیتابیسی است که قراراست ایجاد شود
  • 27017 شماره پورتی است که mongoDB تحت آن اجرا می‌شود
  • localhost مشخص می‌کند که درحال حاضر، دیتابیس به‌صورت محلی کار می‌کند.

اکنون به کمک متد connect ارتباط را برقرار می‌کنیم. Connect() یک متد داخلی است که برای ایجاد یک ارتباط با نمونه‌ای از کلاس MongoDB استفاده می‌شود و مقداری که برمی‌گرداند، رفرنس دیتابیس مرتبط شده است. در مثال زیر، یک نمونه‌ی جدید از کلاس MongoDB که در localhost درحال اجراست، نمونه‌سازی می‌شود و رفرنس به دیتابیس demo_db را برمی‌گرداند. به قطعه کد زیر دقت کنید:

با دستور زیر در ترمینال یا خط فرمان، قطعه کد بالا را اجرا میکنیم:

تبریک! شما با موفقیت ارتباطی را با mongodb به کمک نود جی‌ اس برقرار کردید.

درج (Insert) یا ایجاد (Create) داده در MongoDB

متد insertOne(): به کمک این متد داخلی، می‌توان داده‌ای را در کالکشن mongoDb درج نمود:

اجرا و نتیجه اجرای کد فوق:

خواندن (Read) داده‌ها از MongoDB

  1. متد findOne(): این متد داخلی برای خواندن اولین وقوع در کالکشن mongoDb است:

قطعه کد فوق را اجرا می کنیم و نتیجه را می‌بینیم:

2. متد find(): این متد تمام دادا‌ها را از کالکشن mongoDb می‌خواند:

اجرای قطعه کد فوق:

بروزرسانی (Update) یک سند در MongoDB

  1. متد updateOne(): به دنبال اولین وقوع حاصل از اجرای یک کوئری روی داده‌های mongodb می‌گردد و آن را بروزرسانی می‌کند:
و اجرای آن:

2. upddateMany(): یک متد داخلی mongodb که یک کوئری روی mongodb اجراکرده و تمام وقوعشان را آپدیت می‌کند.

اجرای آن:

حذف (Delete) سند یا داده در MongoDB

  1. متد deleteOne():  یک متد داخلی mongodb برای حذف اولین وقوع حاصل از اجرای یک کوئری روی mongodb:
و اجرای کد فوق:

2. متد deleteMany(): این هم یک متد داخلی دیگر، که تمام نتایج حاصل از وقوع یک کوئری روی کالکشن mangodb را حذف می‌کند:

و اجرا:

خلاصه

در درس امروز از دوره آموزشی 30 روز با نود جی‌ اس، یاد گرفتیم چگونه به کمک نود جی‌ اس یک ارتباط با دیتابیس MongoDB برقرار کنیم. همچنین اعمال اصلی CRUD یا ایجاد/درج (Crud)، خواندن (Read)، بروزرسانی (Update) و حذف (Delete) را تمرین کردیم.

1 نظر
  1. بهادر
    0

    سلام
    آموزش نصب و راه اندازی mongodb در ویندوز ۱۰ نسخه ۱۷۰۹ را میخواستم

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.