دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۸
  • فروردین

جلسه ۲۵ : روابط در MongoDB

  • دسته‌بندی‌ها :
جلسه ۲۵ : روابط در MongoDB
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، این جلسه از آموزش های MongoDB را به روابط در MongoDB اختصاص خواهیم داد.از این جلسه به بعد آموزش MongoDBدر سطح پیشرفته تر شروع می شود. با ما همراه باشید تا از مطالب ذکر شده بهره کافی را ببرید.روابط بین دو سند از طریق روش های Embedded و Referenced در MongoDB مدل سازی می شوند.

      روابط در MongoDB

      روابط در MongoDB نشان دهنده این است که چگونه اسناد مختلف به طور منطقی با یکدیگر مرتبط هستند.

      روابط را می توان از طریق روش های Embedded و Referenced مدل سازی کرد.

      چنین روابطی می توانند ۱: ۱، ۱:N یا N: 1 و یا N: N باشند.

      اجازه دهید ذخیره آدرس برای کاربران را در نظر بگیریم.

      به این صورت که، یک کاربر می تواند آدرس های متعددی ایجاد کند و رابطه ی ۱: N داشته باشد.

      در زیر ساختار سند نمونه برای سند user است :

      مثال : 

      همچنین مثال زیر ساختار سند نمونه سند address است :

      مثال : 

      مدل سازی روابط Embedded درMongoDB

      در رویکرد Embedded،سندی که قرار است لینک شود به صورت مستقیم به عنوان یک جز در سند دیگر لحاظ می شود.

      در کد زیر  ما سند آدرس را داخل سند کاربر جا خواهیم داد.

      مثال : 

      این رویکرد، تمام داده های مربوط به یک سند را حفظ می کند و باعث می شود که بازیابی و نگهداری آن آسان باشد.

      با کد زیر تمام سند را می توان تنها در یک پرس و جو بازیابی کرد :

      مثال : 

      توجه داشته باشید که در کوئری بالا، db و users به ترتیب پایگاه داده و مجموعه هستند.

      اشکال این است که اگر سند Embedded شده بیش از اندازه رشد کند و بزرگ شود، در این صورت می تواند بر عملکرد خواندن / نوشتن تأثیر بگذارد.

      مدل سازی روابط Referenced در MongoDB

      Referenced در MongoDB

      این رویکرد برای طراحی رابطه عادی ایجاد شده است. در این رویکرد، ارتباط از طریق ایجاد لینک بین اسناد صورت می گیرد.

      هر دو اسناد کاربر و آدرس به صورت جداگانه نگهداری می شوند.

      اما سند کاربر حاوی یک فیلد است که فیلد id سند آدرس را نشان می دهد.

      مثال : 

      همانطور که در بالا نشان داده شد، سند کاربر حاوی فیلد address_ids می باشد که شامل ObjectIds آدرس های مربوطه است.

      با استفاده از این ObjectIds، ما می توانیم اسناد آدرس را جستجو کرده و جزئیات آدرس را از آنجا دریافت کنیم.

      همچنین با استفاده از این رویکرد، ما به دو query نیاز خواهیم داشت:

      اولی برای استخراج فیلدهای address_ids از سند user و دومی برای استخراج این آدرس ها از مجموعه address.

      مثال : 

      کلام آخر

      روش های Embedded و Referenced در MongoDB هر دو برای مدل سازی استفاده می شوند.هرکدام ویژگی های خاص خود را دارند که در بالا ذکر شده بود. در جلسه بعد آموزش ارجاعات پایگاه داده در MongoDB به شما عزیزان آموزش داده خواهد شد.

      QR:  جلسه ۲۵ : روابط در MongoDB
      به اشتراک بگذارید