آموزش NoSql و MongoDB

آموزش 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 پیاده سازی خواهیم کرد .

 

 

لطفا سوالات خود را راجع به این آموزش در این بخش پرسش و پاسخ مطرح کنید به سوالات در قسمت نظرات پاسخ داده نخواهد شد .

مدت زمان دوره: 01:22:42
راهنما! برای دانلود با دانلود منیجر(IDM) بر روی این لینک کلیک کنید.

در این بخش به نحوه نصب و راه اندازی MongoDB خواهیم پرداخت و همچنین نحوه ایجاد و مدیریت بانک اطلاعاتی را بررسی خواهیم کرد .

در این بخش به مدیریت MongoDB از طریق سی شارپ و نحوه اضافه کردن کتابخانه های مورد نیاز خواهیم پرداخت

در این بخش به نحوه استفاده از MongoDB در Asp.Net MVC خواهیم پرداخت .

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

farshadhashemi ارسال شده در چهار شنبه ۲۷ تیر ۱۳۹۷

سلام  شما در ابتدا فرمودین که ارتباط بین جداول در nosql  وجود دارد ولی نه به شکل sql   

سوال من این هستش که الان برای ارتباط بین جداول در کد فرست چه جوریی انجام میشه ؟؟

 

smo2020 ارسال شده در دو شنبه ۲۸ خرداد ۱۳۹۷

ممنونم از آموزش خوبت بزرگوار
فقط اگر طریقه پابلیش پروژه روی هاست روهم بگید عالی میشه

FazelAnjomshoaa ارسال شده در دو شنبه ۲۱ اسفند ۱۳۹۶

بسیااااااار عالیییییی

ممنون از اینکه علمتون رو در اختیار عموم قرار میدین

mrsoft ارسال شده در شنبه ۲۱ بهمن ۱۳۹۶

با سلام استاد وقت بخیر در پیکر بندی mongodb  در asp.net core2  به مشکل خوردم.هنگام scaffoldingدر  پروژه  Context را نمیشناسه. اگر امکان داره یک دوره برای پیاده سازی mongo در asp.net core اضافه کنید.ممنون از شما

MohsenHasani ارسال شده در سه شنبه ۱۰ بهمن ۱۳۹۶

سلام
ممنون از آموزشتون، میخواستم بگم به نظرم اگه توی کلاس person به جای _id این مقدار نوشته بشه، نیازی به خیلی از اضافه کاری ها نیست (مثل تغییر دادن id به _id در همه جا، اضافه کردن فیلد string id به اکشن edit و ...) :

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
 

با تشکر (:

ehsan59 ارسال شده در پنج شنبه ۵ بهمن ۱۳۹۶

با سلام و تشکر از  زحمتی که میکشید برای آموزش ها.واقعا خیلی عالی هستن امیدوارم مثل همیشه بهترین هدیه هاتون که این کلیپ های خوب هستن رو زحمت بکشید. سپاسگزارم

 

PayamBakhshzadeh ارسال شده در جمعه ۱۵ دی ۱۳۹۶

سلام استاد 

من یه سوال در مورد نحوه استفاده از identity در مانگو پرسیدم و شما فرمودین 

باید هسته identity رو تغییر داد تا بتوان از provider مانگو استفاده نمود

برای این امر اموزشی سراغ دارین که مثل خودتون کامل و واضح توضیح بده و باد بگیریم

ممنون میشم راهنماییم کنید

ایمان مدائنی ارسال شده در شنبه ۱۶ دی ۱۳۹۶

این لینک رو ببینید

PayamBakhshzadeh ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

سلام استاد 

ممنون از اموزش های زیباتون

من سه تا سوال داشتم

۱-بحث index تو مانگو چطور هندل میشه؟ فرضا ما ۱۰۰۰۰۰۰ رکورد داریم که قراره مثلا با شماره تلفن افراد تو این رکوردها جستجو انجام بدیم.تو sql برا موبایل ایندکس تعریف میکردیم

حالا تو مانگو چطور باید رفتار کرد؟ 

 

 

۲-فرض کنید یه سایتی مثل دیجی کالا داریم که توش هزاران هزار محصول وجود داره. بعضی از این محصولات امکان داره موجود نباشن و دیجی کالا یه گزینه داره که وقتی این محصول موجود شد به من اطلاع بده.

حالا به نظر شما بهترین حالت برای پیاده کردن  این هستش که. تو مشخصات هر محصول یک ایتم هم تعریف کنیم از نوع bool 

و وقتی محصول موجود شد کل محصولات رو foreach بزنیم و تک تک بررسی کنیم که هر کدام true بود به اون کاربر یک ایمیل بفرس 

یا اینکه روش دیگه بکار ببندیم بدین شکل که یک کالکشن جداگانه ایجاد کنیم که توش کد محصول و لیست کاربرانی که درخواست اطلاع رسانی کردن و داشته باشیم و به محض موجود بودن به کل اون کالکشن پیام بفرستیم؟

نظر خود بنده اینه که روش دوم بهتره ولی جهت اطمینان خواستم بدونم که سیاست مانگو برا این موارد چیه

 

 

۳- بحث identity  رو تو مانگو چطور میشه حل کرد

می دونین که تو identity  در همون ایتدا چندتا جدول برا خودش ایجاد میکنه و بر اساس اونا هندل میکنه 

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

ایمان مدائنی ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

دوست من این بانک NoSql هست و نباید با Sql مقایسه کنید 

برای سوال ۲ یک کالکشن جدا بسازید و در اون قرار دهید

 

سوال ۳ 

باید هسته identity را تغییر دهید تا با provider مانگو کار کنه و کار ساده ایست

Faraji_mohsen ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

باسلام 

ممنون از آموزشهای خوبتون.

 

rzhmrz ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

ممنون از آموزش خوبتون 

این  روش برای چقدر دیتا خوب  و کابرد داره 

و برای دیتا زیاد کابر داره ؟

ایمان مدائنی ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

بله

اسمش روش هست BigData

mehrdad ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

با سلام

استاد خواهشا توی آموزش سوم نشون بدید چطور باید دیتابیسش رو روی هاست قرار بدیم

ایمان مدائنی ارسال شده در چهار شنبه ۱۳ دی ۱۳۹۶

دقیقا به همون شیوه جلسه اول هست

باید سرور MongoDB را روی سرور اجرا کنید

در هاست های اشتراکی نمیشه