تخفیف ویژه

آموزش مقدماتی Select, Insert, Update, Delete یا CRUD در MongoDB

دسته بندی: آموزش
زمان مطالعه: 4 دقیقه
۲۰ آذر ۱۳۹۷

در این مطلب میخوام شما رو با عملیات مختلف CRUD در MongoDB آشنا کنم و کار با اون رو بهتون یاد بدم تا بتونین کارهای مورد نظرتون رو انجام بدین.

در این مطلب عملیات مختلف CRUD که عبارتند از Create و Read و Update و Delete در terminal یا command line بهتون آموزش داده میشه تا بتونین به سرعت اونا رو یاد بگیرید. با یاد گرفتن این موارد میتونین به همین شکل در کدهای خودتون از این عملیات استفاده کنید.

من فرض میکنم که شما MongoDB رو نصب کردید. اگر اینکار رو انجام ندادید میتونین این مطلب رو به عنوان راهنمای نصب MongoDB مطالعه کنید. برای ساخت سرویس MongoDB در ویندوز هم این لینک رو ببینید و من فرض میکنم که سرویس MongoDB فعال هست و میتونیم به اون وصل شده و کارهای مورد نظرمون رو انجام بدیم.

اگر سرویس MongoDB رو راه‌اندازی کرده باشید، میتونین در هر جای سیستم که هستید، command line رو باز کرده و دستور mongo رو اجرا کنید تا به پایگاه‌داده MongoDB متصل شده و بتونین عملیات مورد نظرتون رو انجام بدین.

شما با استفاده از دستور show dbs میتونین همه database‌های موجود در MongoDB رو مشاهده کنید. خروجی بصورت زیر خواهد بود:

همونطور که میبینید من 3 تا database که بصورت پیش‌فرض با نصب MongoDB به وجود میان رو دارم. در مقابل هر database حجم اون با واحد گیگابایت قرار داده شده است.

ساخت Database جدید

با استفاده از دستور use میتونین یک database جدید رو در صورتی که قبلا وجود نداشته باشه، به وجود بیارید. اگر database وجود نداشته باشه که اول اون رو میسازه و بعد وارد اون میشه که میتونین از اون استفاده کنید. اگر database مورد نظر از قبل وجود داشته باشه، فقط وارد اون میشه و دیگه عملیات ساخت انجام نمیشه.

مثلا برای ساخت یک Database بنام test بصورت زیر عمل میکنیم:

با استفاده از دستور db میتونین متوجه بشید که کدام پایگاه داده انتخاب شده است. بصورت زیر:

حالا مجددا دستور show dbs رو اجرا میکنم تا ببینیم Database جدید نمایش داده میشه یا خیر. ولی میبینیم که test در بین قبلی‌ها وجود ندارد. فقط پایگاه‌داده‌هایی نشون داده میشه که چیزی در اونا وجود داشته باشه و اونایی که خالی هستند نشون داده نمیشن. پس باید چیزی رو به test اضافه کنیم تا بتونیم test رو در بین database‌های دیگه مشاهده کنیم.

ساخت Collection در MongoDB

شباهت پایگاه‌داده NoSQL و Relational بصورت زیر هست:

  • collection مثل همون table میمونه
  • document مثل همون ردیف یا row میمونه
  • column مثل همون field میمونه

حالا مثلا میخوایم اطلاعاتی رو درون test وارد کنیم. برای اینکار بصورت زیر عمل میکنیم:

با این دستور بصورت اتوماتیک یک collection بنام users ساخته میشه و یک document با column یا ستون name رو در اون وارد کردیم. حالا اگر مجددا دستور show dbs رو اجرا کنید، خواهید دید که test هم در بین بقیه هست.

برای نمایش همه collection‌های موجود در یک Database میتونین دستور show collections رو اجرا کنید. ما همچنین میتونیم با استفاده از دستور db.createCollection(name, options) یک collection جدید رو به وجود بیاریم.

حذف Database

برای اینکه یک Database رو حذف کنید، ابتدا اونی رو که میخواید با استفاده از دستور use استفاده کنید و بعد از اون دستور db.dropDatabase() رو اجرا کنید. مثلا برای حذف کردن test بصورت زیر عمل میکنیم:

حذف کردن Collection

برای حذف کردن یک collection میتونیم از متد drop استفاده کنیم. مثلا برای حذف کردن users که در بالا ساختیم میتونیم از دستور db.users.drop() استفاده میکنیم.

قرار دادن یک Document

شما میتونین با استفاده از db.COLLECTION_NAME.insert(document) یا db.COLLECTION_NAME.save(document) یک document رو به collection مورد نظرتون اضافه کنید.

پیدا کردن Document مورد نظر

شما با استفاده از متد find چند مورد و با استفاده از findOne فقط یک مورد رو جستجو و پیدا کنید. مثلا برای اینکه یک document که name اون برابر با Mohammad باشه رو پیدا کنیم، بصورت زیر عمل میکنیم:

همونطور که میبینید اگر document مورد نظر وجود داشته باشه که همه اطلاعات مربوط به اون نشون داده میشه و اگر وجود نداشته باشه که null برگشت داده میشه.

به روز رسانی Document

با استفاده از متد updateOne میتونین یک و با استفاده از متد updateMany میتونین چند Document رو به روز رسانی کنید. مثلا برای اینکه document با نام Mohammad رو به Ali تبدیل کنیم، بصورت زیر عمل میکنیم:

حذف کردن Document

شما با استفاده از deleteOne یا deleteMany میتونین یک یا چند document رو حذف کنید. مثلا برای حذف کردن document که name اون برابر با Ali هست رو حذف کنم. برای اینکار بصورت زیر عمل میکنم:

همونطور که میبینید deleteCount برابر با 1 هست و به این معنی هست که یک document حذف شده است.

MongoDB دستورات بسیار زیادی داره که سعی میکنم در مطالب آینده دستورات مهم اون رو بهتون آموزش بدم.

چه امتیازی به این مقاله می دید؟
نویسنده محمد اسفندیاری
بسیار به طراحی وب علاقمندم و به سرعت در حال یادگیری تمام مباحث پیشرفته هستم و دوست دارم که به دیگران هم یاد بدهم.

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :