آموزش NoSql و MongoDB

آموزش NoSql و MongoDB
درابتدا بیایید ببینیم که No Sql چیست؟
NoSql (در اصل از کلمه Non sql ، بدون رابطه(non relational) یا not only SQL گرفته شده است) یک زبان کوئری نویسی است که از مکانیزم های مختلف ذخیره و بازیابی اطلاعات استفاده میکند و در پایگاه های داده های بی رابطه(non-relational) استفاده میشود.
برخلاف رابطه های جدولی (tabular relations) که در پایگاه داده های رابطه ای استفاده میشود ، NoSql داده ها را در یک جفت کلید-مقدار(key-value) ذخیره میکند.
MongoDB یک دیتابیس رایگان و اوپن سورس است که تحت مجوز GNU Affero General Public منتشر شده است که داده ها را در فرمت سندگرا (document-oriented) ذخیره می کند.
MongoDB از اسناد با الگو Json شکل استفاده میکند. و داده ها را با فرمت BSON یا Binary JSON ذخیره می کند.اما از Json به عنوان فرمت ورودی / خروجی ترجیح می دهد استفاده کند.
همانطور که در بالا گفتیم ، MongoDB یک نرم افزار رایگان و اوپن سورس است که براحتی میتوانیم آن را از وب سایت رسمی دانلود کنیم.
در بخش اول این آموزش به آشنایی و نحوه نصب و اجرای MongoDB خواهیم و پرداخت و دستورات اصلی این بانک رو به شما آموزش خواهیم داد .
در بخش دوم این آموزش یک مثال کاربری در سی شارپ و Console Application پیاده سازی خواهیم کرد تا با نحوه استفاده این بانک در سی شارپ آشنا شوید .
در بخش سوم این آموزش یک مثال کاربری در Asp.Net MVC پیاده سازی خواهیم کرد .
لطفا سوالات خود را راجع به این آموزش در این بخش پرسش و پاسخ مطرح کنید به سوالات در قسمت نظرات پاسخ داده نخواهد شد .
- 1
نصب و راه اندازی MongoDB
00:31:07
در این بخش به نحوه نصب و راه اندازی MongoDB خواهیم پرداخت و همچنین نحوه ایجاد و مدیریت بانک اطلاعاتی را بررسی خواهیم کرد .
- 2
استفاده از MongoDB در سی شارپ
00:27:35
در این بخش به مدیریت MongoDB از طریق سی شارپ و نحوه اضافه کردن کتابخانه های مورد نیاز خواهیم پرداخت
- 3
استفاده از MongoDB در MVC
00:24:00
در این بخش به نحوه استفاده از MongoDB در Asp.Net MVC خواهیم پرداخت .
بسیااااااار عالیییییی
ممنون از اینکه علمتون رو در اختیار عموم قرار میدین
با سلام استاد وقت بخیر در پیکر بندی mongodb در asp.net core2 به مشکل خوردم.هنگام scaffoldingدر پروژه Context را نمیشناسه. اگر امکان داره یک دوره برای پیاده سازی mongo در asp.net core اضافه کنید.ممنون از شما
سلام
ممنون از آموزشتون، میخواستم بگم به نظرم اگه توی کلاس person به جای _id این مقدار نوشته بشه، نیازی به خیلی از اضافه کاری ها نیست (مثل تغییر دادن id به _id در همه جا، اضافه کردن فیلد string id به اکشن edit و ...) :
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
با تشکر (:
با سلام و تشکر از زحمتی که میکشید برای آموزش ها.واقعا خیلی عالی هستن امیدوارم مثل همیشه بهترین هدیه هاتون که این کلیپ های خوب هستن رو زحمت بکشید. سپاسگزارم
سلام استاد
من یه سوال در مورد نحوه استفاده از identity در مانگو پرسیدم و شما فرمودین
باید هسته identity رو تغییر داد تا بتوان از provider مانگو استفاده نمود
برای این امر اموزشی سراغ دارین که مثل خودتون کامل و واضح توضیح بده و باد بگیریم
ممنون میشم راهنماییم کنید
این لینک رو ببینید
سلام استاد
ممنون از اموزش های زیباتون
من سه تا سوال داشتم
۱-بحث index تو مانگو چطور هندل میشه؟ فرضا ما ۱۰۰۰۰۰۰ رکورد داریم که قراره مثلا با شماره تلفن افراد تو این رکوردها جستجو انجام بدیم.تو sql برا موبایل ایندکس تعریف میکردیم
حالا تو مانگو چطور باید رفتار کرد؟
۲-فرض کنید یه سایتی مثل دیجی کالا داریم که توش هزاران هزار محصول وجود داره. بعضی از این محصولات امکان داره موجود نباشن و دیجی کالا یه گزینه داره که وقتی این محصول موجود شد به من اطلاع بده.
حالا به نظر شما بهترین حالت برای پیاده کردن این هستش که. تو مشخصات هر محصول یک ایتم هم تعریف کنیم از نوع bool
و وقتی محصول موجود شد کل محصولات رو foreach بزنیم و تک تک بررسی کنیم که هر کدام true بود به اون کاربر یک ایمیل بفرس
یا اینکه روش دیگه بکار ببندیم بدین شکل که یک کالکشن جداگانه ایجاد کنیم که توش کد محصول و لیست کاربرانی که درخواست اطلاع رسانی کردن و داشته باشیم و به محض موجود بودن به کل اون کالکشن پیام بفرستیم؟
نظر خود بنده اینه که روش دوم بهتره ولی جهت اطمینان خواستم بدونم که سیاست مانگو برا این موارد چیه
۳- بحث identity رو تو مانگو چطور میشه حل کرد
می دونین که تو identity در همون ایتدا چندتا جدول برا خودش ایجاد میکنه و بر اساس اونا هندل میکنه
حال بخوایم با مانگو کار کنیم مهمترین بحث که همون امنیت هستش رو چطور میشه هندل کرد. ممنون میشم برا اون هم یه اموزش قرار بدین استاد
دوست من این بانک NoSql هست و نباید با Sql مقایسه کنید
برای سوال ۲ یک کالکشن جدا بسازید و در اون قرار دهید
سوال ۳
باید هسته identity را تغییر دهید تا با provider مانگو کار کنه و کار ساده ایست
باسلام
ممنون از آموزشهای خوبتون.
ممنون از آموزش خوبتون
این روش برای چقدر دیتا خوب و کابرد داره
و برای دیتا زیاد کابر داره ؟
بله
اسمش روش هست BigData
با سلام
استاد خواهشا توی آموزش سوم نشون بدید چطور باید دیتابیسش رو روی هاست قرار بدیم
دقیقا به همون شیوه جلسه اول هست
باید سرور MongoDB را روی سرور اجرا کنید
در هاست های اشتراکی نمیشه