"> عملیات CRUD با MongoDB توسط ASP.NET MVC | آموزش MVC | ام اس پی سافت

عملیات CRUD با MongoDB توسط ASP.NET MVC

CRUD با استفاده از  MVC

 

در این مقاله، نحوه‏ ی انجام عملیات CRUD با MongoDB توسط ASP.NET MVC  را خواهیم آموخت.امروزه اغلب افراد می‏خواهند از محصولات متن ‏باز موجود در بازار استفاده کنند.

در اینجا نیز محصولی دیگر به نام MongoDB آمده که پایگاه داده ‏ای NoSQL است که داده‏ ها را در قالب شیء JSON ذخیره کرده و نیز یک سند BSON را فراخوانی می‏کند.

افراد زیادی ممکن است فکر کنند که پایگاه داده ‏ای متن‏ باز است و نمی‏توانیم از این نوع پایگاه داده با برنامه ‏های .NET استفاده کنیم.

اما، من می‏گویم که می‏توانیم از این پایگاه داده با .NET نیز استفاده کنیم. خبر خوبی است، اینطورنیست؟

MongoDB درایوری به نام mongocsharp را ارائه می‏دهد که نیاز است آن را از NuGet Package Manager در برنامه خود دانلود و نصب کنیم تا به پایگاه داده ‏ی MongoDB متصل شویم.

استفاده از آن آسان است، و در نهایت عملیات عملیات CRUD با MongoDB را انجام خواهیم داد که تفکری ابتدایی از نحوه‏ ی استفاده از این پایگاه داده، نحوه‏ ی ذخیره ‏ی داده‏ ها، و اینکه چگونه می‏توانیم داده ‏ها را بر اساس نیاز خود از پایگاه داده استخراج کنیم، به ما خواهد داد.

پیش از شروع، بیایید نگاهی به عناوین بیندازیم.

عناوین:

  1.  ایجاد MVC Application
  2.  افزودن درایور mongocsharp از NuGet Package Manager
  3.  اتصال به پایگاه داده‏ ی MongoDB
  4.  تنظیم رشته‏ ی اتصال
  5.  افزودن Model
  6.  افزودن کنترل‏ کننده ‏ی CarinformationController
  7. اجرای عملیات CRUD
  8.  CREATE
  9.  READ (Single / Multiple) Document خواندن (یک/چند) سند
  10. EDIT / UPDATE
  11.  DELETE

بیایید سفر خود را برای یادگیری عملیات CRUD با MongoDB توسط ASP.NET MVC  را آغاز کنیم.

عملیات CRUD با MongoDB

اگر بخش های قبلی مقالات ما را نخوانده‏ اید همواره می‏توانید در لینک‏ زیر مشاهده کنید.

 

ایجاد برنامه‏ ی MVC

Visual Studio IDE را باز کرده و بر روی لینک “ New Project ” کلیک کنید. یک کادر محاوره ‏ای “ New Project ” ظاهر خواهد شد.

New Project

 

داخل آن، از قسمت سمت چپ templates (قالب‏ ها) ؛  Visual C# و   Web template را انتخاب کنید. سپس، در قسمت میانی، فهرست قالب‏ های ASP.NET Web Application را مشاهده خواهید کرد.

قالب پروژه ‏ی ( ASP.NET Web Application (.NET Framework را انتخاب کنید.

 عملیات CRUD با MongoDB

نام پروژه را بصورت “ MongoDemo ” وارد کرده و در نهایت بر روی دکمه‏ ی OK کلیک کنید.

پس از آن، یک کادر محاوره ‏ای جدید با نام “ New ASP.NET Web Application ” پدیدار خواهد شد.

در این بخش، قالب پروژه‏ ی MVC را انتخاب و بر روی دکمه‏ ی OK جهت ایجاد یک پروژه کلیک خواهیم کرد.

Project MVC

در ادامه، نمای کامل پروژه که به تازگی ایجاد شده قرار دارد.

 عملیات CRUD با MongoDB

پس از ایجاد یک پروژه‏ ی جدید، در مرحله‏ ی بعد، درایور mongocsharp را به پروژه اضافه خواهیم کرد.

افزودن درایور mongocsharp از NuGet Package Manager

جهت افزودن درایور mongocsharp، تنها بر روی پروژه راست کلیک کرده و از فهرست منوها، “ Manage NuGet Packages ” را انتخاب کنید.

Manage NuGet Packages

یک کادر محاوره ‏ای جدید ظاهر خواهد شد که در آن سربرگ Browse را انتخاب خواهیم کرد.

در جعبه ی جستجو (search box “، ( mongocsharp driver ” را تایپ کنید که فهرستی از دیگر پکیج ‏های NuGet را نشان خواهد داد.

اولین مورد را انتخاب کرده و برای نصب آن در پروژه، بر روی دکمه ‏ی “ Install ” کلیک کنید.

 عملیات CRUD با MongoDB

پس از نصب، می‏توانید رفرنس پروژه را مشاهده کنید که در آن رفرنس درایور MongoDB را نیز خواهید یافت.

 عملیات CRUD با MongoDB

اکنون، “ mongocsharp driver ” را با موفقیت نصب کرده ‏ایم. حال، به پایگاه داده ‏ی MongoDB متصل خواهیم شد.

اتصال به پایگاه داده ‏ی MongoDB

در این مرحله، به برنامه‏ ی MVC با پایگاه داده ‏ی MongoDB متصل خواهیم شد.

راه ‏اندازی MongoDB Server

در این بخش، MongoDB Server را راه اندازی خواهیم کرد.

MongoDB Server

راه ‏اندازی MongoDB Client

در این بخش، MongoDB Client را راه ‏اندازی خواهیم کرد.

MongoDB Client

پس از راه‏ اندازی Server و Client، به ایجاد پایگاه داده خواهیم پرداخت.

ایجاد یک پایگاه داده ‏ی جدید در MongoDB

در این بخش، ابتدا پایگاه داده ‏ای با نام “ CarDatabase ” ایجاد خواهیم کرد.

پس از اینکه پایگاه داده را ایجاد کردیم، در مرحله‏ ی بعد، اعتبارنامه‏ ها را برای این پایگاه داده تنظیم خواهیم کرد، مانند اینکه برنامه ‏ای که اعتبارنامه‏ های معتبر دارد، تنها بتواند به این پایگاه داده دسترسی پیدا کند.

اعتبارنامه‏ های پایگاه داده

Username (نام کاربری): – demouser
Password (رمز عبور): – Pass@123

در ادامه تصویری از نحوه‏ ی تنظیم اعتبارنامه‏ ها برای پایگاه داده آورده شده است.

 عملیات CRUD با MongoDB

 

پس از افزودن پایگاه داده و تنظیم اعتبارنامه‏ ها برای پایگاه داده، در ادامه یک کلاس context (متن) برای دسترسی مرکزی به تنظیمات پایگاه داده‏ ی MongoDB ایجاد خواهیم کرد.

تنظیم رشته‏ ی اتصال

در این بخش، کلاسی با نام  MongoContext در پوشه‏ ی App_Start ایجاد خواهیم کرد.

MongoContext

پس از ایجاد کلاس، تمامی اعتبارنامه‏ ها را در بخش ‏های appSettings و Web.config تنظیم خواهیم کرد.

بروزرسانی هر تنظیماتی در آینده آسان خواهد بود اگر برخی جزئیات تغییر کرده باشد. اکنون، نیاز است کد را گسترش دهیم — تنها یک تغییر در فایل Web.config و کار تمام است.

در ادامه تصویری از appSettings آمده است.

appSettings

قطعه کد

<appSettings>      
<add key="MongoDatabaseName" value="CarDatabase" />  
<add key="MongoUsername" value="demouser" />  
<add key="MongoPassword" value="Pass@123" />  
<add key="MongoPort" value="27017" />  
<add key="MongoHost" value="localhost" />  
</appSettings>   

پس از اتمام کار با appSettings ، این مقدار را در کلاس MongoContext خواهیم خواند.

قطعه کد کلاس MongoContext

MongoContext

در این کلاس ابتدا ۳ متغیر تعریف کرده‏ ایم:

  1. MongoClient
  2.  MongoServer
  3. MongoDatabase

سپس در سازنده‏ ی کلاس، مقادیر MongoDatabase را از appSettings که تنظیم کرده ‏ایم دریافت می‏کنیم.

پس از آن، این مقادیر را به متد [MongoCredential.CreateMongoCRCredential] برای ایجاد MongoCredential می‏فرستیم، و سپس در مرحله‏ ی بعد، MongoClientSettings را تنظیم می‏کنیم، برای این تنظیمات، نیاز است MongoCredential را ارسال کنیم؛ به همراه آن، نیاز است نام Host (میزبان) و شماره ‏ی Port (درگاه) مربوط به MongoDB را ارسال کنیم.

قطعه کد

using MongoDB.Driver;  
using System;  
using System.Configuration;  
  
namespace MongoDemo.App_Start  
{  
    public class MongoContext  
    {  
        MongoClient _client;  
        MongoServer _server;  
        public MongoDatabase _database;  
        public MongoContext()        //constructor   
        {  
            // Reading credentials from Web.config file   
            var MongoDatabaseName = ConfigurationManager.AppSettings["MongoDatabaseName"]; //CarDatabase  
            var MongoUsername = ConfigurationManager.AppSettings["MongoUsername"]; //demouser  
            var MongoPassword = ConfigurationManager.AppSettings["MongoPassword"]; //Pass@123  
            var MongoPort = ConfigurationManager.AppSettings["MongoPort"];  //27017  
            var MongoHost = ConfigurationManager.AppSettings["MongoHost"];  //localhost  
  
            // Creating credentials  
            var credential = MongoCredential.CreateMongoCRCredential  
                            (MongoDatabaseName,  
                             MongoUsername,  
                             MongoPassword);  
  
            // Creating MongoClientSettings  
            var settings = new MongoClientSettings  
            {  
                Credentials = new[] { credential },  
                Server = new MongoServerAddress(MongoHost, Convert.ToInt32(MongoPort))    
            };  
            _client = new MongoClient(settings);  
            _server = _client.GetServer();  
            _database = _server.GetDatabase(MongoDatabaseName);  
        }  
    }  
}  

پس از اینکه کار تنظیمات رشته ‏ی اتصال را انجام دادیم، در مرحله‏ ی بعد، به سراغ افزودن Model، که جدول خواهد بود، می‏رویم.

افزودن Model

در این بخش، یک model (یک کلاس) در پوشه‏ ی Models با نام “ CarModel ” اضافه می‏کنیم، و ویژگی‏ های درون CarModel با خاصیت MongoDB تزیین می‏شوند.

نکته: خاصیت‏ ها برای کنترل سریالی کردن / غیر سریالی کردن Bson بکار می‏روند.

 عملیات CRUD با MongoDB

پس از افزودن model، کنترل‏ کننده ‏ای با نام CarinformationController را خواهیم افزود.

افزودن کنترل‏ کننده

برای کنترل‏ کننده، تنها بر روی پوشه ‏ی controller راست کلیک کرده و منوی add را انتخاب و درون آن منوی controller را انتخاب کنید.

یک کادر محاوره‏ ای جدید با نام “ add scaffold ” ظاهر خواهد شد.

در این بخش، تنها “ MVC 5 Controller with read/write actions ” را انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

 عملیات CRUD با MongoDB

پس از کلیک بر روی دکمه‏ ی Add، کادر محاوره‏ ای جدیدی با نام “ Add Controller ” ظاهر خواهد شد و درخواست نامی برای Controller خواهد کرد و ما نام Controller را بصورت CarinformationController قرار خواهیم داد و در نهایت، برای افزودن کنترل‏ کننده بر روی دکمه ‏ی Add کلیک می‏کنیم.

CarinformationControlle

پس از کلیک بر روی دکمه‏ ی Add، CarinformationController ایجاد خواهد شد و به همراه آن، متد action پیش فرض [Create, Index, Edit, Delete, Details] نیز، همانطور که در تصویر زیر نشان داده شده، اضافه خواهد شد.

 عملیات CRUD با MongoDB

پس از افزودن کنترل‏ کننده، نخستین موردی که بر روی آن کار می‏کنیم، افزودن یک سازنده به Controller برای مقداردهی اولیه ی اشیاء MongoDB است.

Controller

قطعه کد

MongoContext _dbContext;  
public CarinformationController()  
{  
    _dbContext = new MongoContext();  
}  

پس از مقداردهی اولیه ی اشیاء MongoDB، انجام عملیات CRUD را آغاز خواهیم کرد.

CREATE

پس از افزودن Constructor ، Create Action Method  را برای افزودن “ Create ” View جهت گرفتن ورودی تصحیح خواهیم کرد.

Create Action Method

برای افزودن view ، تنها درون Create Action Method راست کلیک کرده و Add View را از فهرست منو انتخاب کنید.

پس از انتخاب آن، کادر محاوره ‏ای جدیدی با نام Add View پدیدار خواهد شد. در این کادر، تنها قالب “ Create ” و کلاس Model را بصورت “ CarModel ” انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

 

Add View

پس از افزودن view، در ادامه تصویری از نمای کد و نمای جستجوگر مربوط به “ Create ” View آورده شده است.

Add Car Detalls

اکنون بیایید برای درج داده ‏ها در پایگاه داده کد بنویسیم.
در این بخش، داده ‏ها را در پایگاه داده درج خواهیم کرد، و برای انجام این کار، ابتدا نیاز است شیء MongoCollection را ایجاد کنیم.

قطعه کد

var document = _dbContext._database.GetCollection<BsonDocument>("CarModel");   

در مرحله‏ ی بعد، فیلتری برای بررسی وجود نسخه‏ ی تکراری از سند را اضافه کرده ‏ایم.

var query = Query.And(Query.EQ("Carname", carmodel.Carname), Query.EQ("Color", carmodel.Color));  
  
var count = document.FindAs<CarModel>(query).Count();  
  
  if (count == 0)  
  {  
    var result = document.Insert(carmodel);  
  }  
  else  
  {  
    TempData["Message"] = "Carname ALready Exist";  
    return View("Create", carmodel);  
  }  

ارسال Model برای درج داده ‏ها بعد از بررسی

var result = document.Insert(carmodel);  

تصویری از Create Action Method

Create Action Method

حال بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.
پس از اجرای برنامه، تنها به این URL دسترسی پیدا کنید:

http://localhost:####/Carinformation/Create

پس از دستیابی به آن، یک Create View همانطور که در تصویر زیر نشان داده شده ظاهر خواهد شد.

 عملیات CRUD

جزئیات فرم را پر کرده و برای ذخیره‏ ی داده ‏ها در پایگاه داده ‏ی MongoDB “ ) CarDatabase ”) ، بر روی دکمه‏ ی submit کلیک کنید.
پس از کلیک بر روی دکمه‏ ی insert ، داده‏ ها درون (“CarDatabase”) درج می‏شوند و پاسخ ok را بصورت ۱ دریافت می‏کنیم.

CRUD با MongoDB

نخستین سند را درون پایگاه داده‏ ی MongoDB درج کردیم! پس از آن، داده‏ ها را از داده‏ های درج شده خواهیم خواند.

[ READ [Multiple Document:

در این بخش، رکوردها را در قالب یک Grid که در پایگاه داده‏ ی MongoDB ذخیره کرده ‏ایم، نمایش خواهیم داد.

برای نمایش تمامی رکوردها، از متد FindAll() مربوط به MongoDB که در تصویر زیر نشان داده شده، استفاده خواهیم کرد.

تصویری از Index Action Method:

Index Action Method

قطعه کد

public ActionResult Index()  
{  
  var carDetails = _dbContext._database.GetCollection<CarModel>("CarModel").FindAll().ToList();  
  return View(carDetails);  
}   

اکنون بیایید Index View را اضافه کنیم.

برای افزودن Index View، تنها درون Index Action Method راست کلیک کرده و Add View را از فهرست منو انتخاب کنید.

پس از انتخاب آن، کادر محاوره ‏ای جدیدی با نام Add View ظاهر خواهد شد.

در این کادر، تنها قالب “ List ” و کلاس Model را بصورت “ CarModel ” انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

CarModel

در ادامه تصویری از Index View که تولید شده آورده شده است.

Index View

حال بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.

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

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View همانطور که در تصویر زیر نشان داده شده ظاهر خواهد شد.

این View حاوی داده‏ هایی خواهد بود که درج کرده ‏ایم.

پایگاه داده‏ ی MongoDB

داده ‏ها را از پایگاه داده‏ ی MongoDB استخراج کرده ‏ایم!

اما لینک را در این بخش پیکربندی نکرده ‏ایم، بنابراین بیایید آن را پیکربندی کنیم.

 عملیات CRUD با MongoDB

object id را ، که شناسه ه‏ای منحصر بفرد در MongoDB است، به پارامتر id در ActionLink اختصاص داده‏ ایم.

object id

[ READ Single Document]:

در این بخش، رکوردهای تکی (Details) را طبق ObjectId که از Index View انتخاب می‏کنیم، نمایش خواهیم داد.

برای نمایش رکوردهای تکی (Details)، از متد FindOne() همانطور که در تصویر زیر نشان داده شده استفاده خواهیم کرد.

تصویری از Details Action Method:

Details Action Method

پس از تکمیل قطعه کد، اکنون بیایید Details View را اضافه کنیم.

برای افزودن view، تنها درون Details Action Method راست کلیک کرده و Add View را از فهرست منو انتخاب کنید.

پس از انتخاب آن، یک کادر محاوره‏ ای جدید با نام Add View پدیدار خواهد شد.

در این کادر، تنها قالب “ Details ” و کلاس Model را بصورت “ CarModel ” انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

CarModel

در ادامه تصویری از Details View که تولید شده آورده شده است.

 CRUD با MongoDB

حال بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.
پس از اجرای برنامه، تنها به این URL دسترسی پیدا کنید :

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View همانطور که در تصویر زیر نشان داده شده ظاهر خواهد شد.
پس از آن بر روی دکمه‏ ی Details کلیک خواهیم کرد تا Details View را مشاهده کنیم.

click Details

پس از کلیک بر روی دکمه‏ ی Details، Details Action Method را که ObjectId را به عنوان پارامتر ورودی می‏گیرد، فراخوانی کرده و بر پایه‏ ی آن پارامتر، داده‏ ها را از پایگاه داده ‏ی MongoDB جهت نمایش دریافت می‏کند.

Details View

Details Action Method

پس از اتمام کار با Details View، در بخش بعد، رکورد Car را تصحیح خواهیم کرد.

Edit / Update

در این بخش، رکوردهایی را که در پایگاه داده‏ ی MongoDB ذخیره کرده ‏ایم، تصحیح خواهیم کرد.

برای تصحیح رکوردها ابتدا نیاز است آن داده‏ ها را برای نمایش از پایگاه داده دریافت کنیم؛ سپس، می‏توانیم داده ‏ها را بروزرسانی کنیم.
در تصویر زیر، ابتدا این موضوع که آیا سند از قبل در پایگاه داده موجود است یا خیر را از طریق ارسال ObjectId و دریافت تعداد شمارش شده ‏ی سند که اگر تعداد آن بزرگتر از ۰ باشد سند موجود است، اعتبارسنجی می‏کنیم.

پس از آن، تنها داده‏ ها را برای نمایش در حالت Edit دریافت می‏کنیم.

تصویری از Edit Action Method

 

 Edit Action Method

قطعه کد

// GET: Carinformation/Edit/5  
        public ActionResult Edit(string id)  
        {  
            var document = _dbContext._database.GetCollection<CarModel>("CarModel");  
  
            var carDetailscount = document.FindAs<CarModel>(Query.EQ("_id", new ObjectId(id))).Count();  
  
            if (carDetailscount > 0)  
            {  
                var carObjectid = Query<CarModel>.EQ(p => p.Id, new ObjectId(id));  
  
                var carDetail = _dbContext._database.GetCollection<CarModel>("CarModel").FindOne(carObjectid);  
  
                return View(carDetail);  
            }  
            return RedirectToAction("Index");  
        } 

اکنون بیایید Edit View را اضافه کنیم.

برای افزودن view تنها درون Edit Action Method راست کلیک کرده و Add View را از فهرست منو انتخاب کنید.

پس از انتخاب آن، یک کادر محاوره ‏ای جدید با نام Add View پدیدار خواهد شد، در این کادر تنها قالب “ Edit ” و کلاس Model را بصورت “ CarModel ” انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

Edit Action Method

در ادامه تصویری از Edit View که تولید شده آورده شده است.

 عملیات CRUD با MongoDB

حال بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.

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

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View همانطور که در تصویر زیر نشان داده شده ظاهر خواهد شد.

پس از آن بر روی دکمه ‏ی Edit جهت مشاهده‏ ی Edit View کلیک می‏کنیم.

Index View

اکنون داده ‏ها را در حالت edit نمایش داده ‏ایم.

حال نیاز است برای بروزرسانی این مقادیر در پایگاه داده‏ ی MongoDB با کلیک بر روی دکمه‏ ی save کد بنویسیم.

برای این کار، Action Method دیگری با همان نام Edit که  HttpPost] Request ] را مدیریت خواهد کرد، اضافه می‏کنیم.

Update

تصویری از Edit Action Method

Edit Action Method

قطعه کد

// POST: Carinformation/Edit/5  
        [HttpPost]  
        public ActionResult Edit(string id, CarModel carmodel)  
        {  
            try  
            {  
                carmodel.Id = new ObjectId(id);  
                //Mongo Query  
                var CarObjectId = Query<CarModel>.EQ(p => p.Id, new ObjectId(id));  
                // Document Collections  
                var collection = _dbContext._database.GetCollection<CarModel>("CarModel");  
                // Document Update which need Id and Data to Update  
                var result = collection.Update(CarObjectId, Update.Replace(carmodel), UpdateFlags.None);  
                return RedirectToAction("Index");  
            }  
            catch  
            {  
                return View();  
            }  
        }  

اکنون بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.
پس از اجرای برنامه تنها به این URL دسترسی پیدا کنید

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View همانطور که در تصویر زیر نشان داده شده نمایان خواهد شد.

پس از آن بر روی دکمه‏ ی Edit جهت مشاهده‏ ی Edit View کلیک می‏کنیم.

 عملیات CRUD با MongoDB

پس از کلیک بر روی دکمه ‏ی Edit، می‏توانید Edit View را در Edit Mode مشاهده کنید.

حال در این Mode ، Color مربوط به Car  را از Blue به Brown  بروزرسانی می‏کنیم و برای بروزرسانی مقادیر بر روی دکمه‏ ی “ Save ” کلیک می‏کنیم.

Updating color

پس از کلیک برروی دکمه‏ ی update ، این مقدار در پایگاه داده بروزرسانی شده و برای نمایش grid، به صفحه ی index مسیردهی مجدد می‏شود.
اکنون اگر index view را مشاهده کنیم، مقدار بروز شده نمایش داده خواهد شد.

 عملیات CRUD با MongoDB

کار ما با بروزرسانی داده ‏ها در MongoDB تمام شده است!

DELETE

در این بخش، رکوردی که در پایگاه داده‏ ی MongoDB ذخیره کرده ‏ایم را حذف خواهیم کرد.
برای حذف رکوردها، ابتدا نیاز است داده ‏ها را جهت نمایش از پایگاه داده دریافت کنیم، و سپس می‏توانیم داده ‏ها را حذف کنیم.
تصویری از Delete Action Method

Delete Action Method

حال در این فرآیند، ابتدا index view را باز می‏کنیم، از آنجا بر روی دکمه‏ ی Delete کلیک می‏کنیم، پس از آن متد عمل حذف فراخوانی خواهد شد که ObjectId را به عنوان پارامتر ورودی می‏گیرد و سپس این پارامتر را برای ایجاد کوئری mongo ارسال کرده و سپس این کوئری برای گرفتن داده ‏های مدل Car به GetCollection فرستاده خواهد شد.

پس از افزودن متد Action با نام delete که درخواست HttpGet را مدیریت می‏کند، اکنون بیایید Delete View را جهت نمایش رکورد برای حذف اضافه کنیم.

حال بیایید Delete View را اضافه کنیم.

جهت افزودن view، تنها درون Delete Action Method راست کلیک کرده و Add View را از فهرست منو انتخاب کنید.

پس از انتخاب آن، کادر محاوره‏ ای جدیدی با نام Add View ظاهر خواهد شد. در این کادر تنها قالب “Delete” و کلاس Model را بصورت “CarModel” انتخاب کرده و بر روی دکمه‏ ی Add کلیک کنید.

Delete Action Method

در ادامه تصویری از Delete View که تولید شده آورده شده است.

Delete View

اکنون بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.

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

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View همانطور که در تصویر زیر نشان داده شده ظاهر خواهد شد.

پس از آن بر روی دکمه ‏ی Delete جهت مشاهده‏ ی Delete View کلیک می‏کنیم.

 عملیات CRUD

پس از کلیک بر روی دکمه‏ ی Delete، می‏توانید Delete View را همانطور که در ادامه نشان داده شده مشاهده کنید.

 عملیات CRUD با MongoDB

حال قادریم Delete View را مشاهده کنیم، اما نمی‏توانیم رکورد را حذف کنیم چرا که Delete Action Method که درخواست Http Post را مدیریت می‏کند، اضافه نکرده ‏ایم. بیایید آن را اضافه کنیم.

در این بخش، برای مدیریت درخواست Http Post Delete که ObjectId را به عنوان پارامتر ورودی دریافت می‏کند، کد نوشته‏ ایم و این پارامتر را برای ایجاد Mongo Query ارسال می‏کنیم، و این Mongo Query به Remove Method که این سند را از پایگاه داده حذف خواهد کرد، ارسال خواهد شد.

تصویری از Delete Action Method

Delete Action Method

قطعه کد

// POST: Carinformation/Delete/5  
        [HttpPost]  
        public ActionResult Delete(string id, CarModel CarModel)  
        {  
            try  
            {     
                //Mongo Query  
                var carObjectid = Query<CarModel>.EQ(p => p.Id, new ObjectId(id));  
                // Document Collections  
                var collection = _dbContext._database.GetCollection<CarModel>("CarModel");  
                // Document Delete which need ObjectId to Delete Data   
                var result = collection.Remove(carObjectid, RemoveFlags.Single);  
  
                return RedirectToAction("Index");  
            }  
            catch  
            {  
                return View();  
            }  
        }

اکنون، بیایید کد را ذخیره کرده و برنامه را اجرا کنیم.

پس از اجرای برنامه، تنها به این URL دسترسی پیدا کنید

http://localhost:####/Carinformation/Index

پس از دستیابی به آن، یک Index View، همانطور که در تصویر زیر نشان داده شده، نمایان خواهد شد. سپس، برای مشاهده‏ ی Delete View بر روی دکمه‏ ی Delete کلیک می‏کنیم.

button Delete

پس از کلیک بر روی دکمه ‏ی “ Delete”، Delete View بصورت زیر نشان داده خواهد شد.

حال، برای حذف این رکورد از پایگاه داده‏ ی MongoDB تنها بر روی دکمه ‏ی Delete کلیک کنید.

 عملیات CRUD با MongoDB

در ادامه خروجی پس از حذف رکورد آورده شده است

 عملیات CRUD با MongoDB

بالاخره به پایان مقاله رسیدیم! در اینجا نحوه‏ ی انجام عملیات CRUD با MongoDB توسط ASP.NET MVC  را به روشی مرحله به مرحله آموختیم.
در نهایت، پس از اتمام صحبت، نگاهی به ابزار MongoChef که ابزاری بسیار جالب برای مدیریت پایگاه داده‏ ی MongoDB است، بیندازید.

MongoDB

 عملیات CRUD با MongoDB

 

  • پسورد: www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

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