مشخصات مقاله
تعامل با MongoDB در net.,تعامل با MongoDB با استفاده از NET Web API
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
تعامل با MongoDB با استفاده از .NET Web API
مقدمه
MongoDB یک پایگاه داده غیر SQL ای است و backend مناسبی برای WebAPIها به شمار می رود. به جای وام گیری از پایگاه داده رابطه ای (relational store) از پایگاه داده سند گرا (document store) وام گرفته است.
در این مقاله به شما نشان خواهیم داد که چطور با استفاده از یک ASP.NET Web API، یک ApiController بسازیم. طوری که قادر به پشتیبانی از HTTP GET، PUT، POST و DELETE باشد.
با انجام این پروژه ساده با چگونگی دسترسی به MongoDB با استفاده از .NET WebAPI آشنا خواهیم شد.
قبل از هر چیز، محیط مورد نظر را در سیستم خود نصب کنید:
دانلود و نصب Visual Studio
دانلود و نصب MongoDB
برای شروع، یک Web API با استفاده از Visual Studio ایجاد می کنیم.
یک پروژه Class Library برای پیاده سازی تعاملات MongoDB اضافه می کنیم.
با استفاده از Nuget Packages، پکیج های درایور MongoDB را اضافه می کنیم.
حالا می توانید مراجع DLL مربوط به MongoDB را ببینید.
یک کلاس به نام MongoHelper ایجاد کنید.
public class MongoHelper
{
public MongoCollection
public MongoHelper()
{
var con = new MongoConnectionStringBuilder("server=127.0.0.1;database=galary");
var server = MongoServer.Create(con);
var db = server.GetDatabase(con.DatabaseName);
Collection = db.GetCollection
}
}
این کلاس یک اتصال به MongoDB ایجاد می کند.
کلاس دیگری به نام MobileService ایجاد می کنیم. این کلاس منطق CRUD را برای تعامل با MongoDB پیاده سازی میکند.
public class MobileService
{
private readonly MongoHelper
public MobileService()
{
_mob = new MongoHelper
}
public void Create(Mobile mob)
{
_mob.Collection.Save(mob);
}
public void Edit(Mobile mob)
{
_mob.Collection.Update(
Query.EQ("_id", mob.MobileID),
Update.Set("Name", mob.Name)
.Set("Details", mob.Details));
}
public void Delete(ObjectId postId)
{
_mob.Collection.Remove(Query.EQ("_id", postId));
}
public IList
{
return _mob.Collection.FindAll().ToList();
}
public Mobile GetMobile(ObjectId id)
{
var mob = _mob.Collection.Find(Query.EQ("_id", id)).Single();
return mob;
}
}
کلاس Mobile یک مدل برای تعاملات داده ای است.
public class Mobile
{
[BsonId]
public Guid ID { get; set; }
public int MobileID { get; set; }
public string Name { get; set; }
public string Details{ get; set; }
}
حالا با استفاده از قطعه کد زیر می توانید یک آیتم جدید اضافه کنید.
serv.Create(new Mobile { ID= Guid.NewGuid(), MobileID = 1, Name = "Apple", Details = "Testing Application" });
با استفاده از قطعه کد زیر می توانید تمام رکورد های داده را از MongoDB بازیابی کنید.
var datalst = serv.GetMobiles();
برای تست کردن برنامه، ابتدا سرویس MongoDB را بر روی سیستم خود start کنید. برای این کار روال زیر را دنبال کنید:
به خط فرمان بروید:
C:\MongoDB\bin>mongod and press Enter.
حالا سرویس MongoDB، start شده است و صفحه زیر را مشاهده خواهید کرد:
و کد MongoDB را به شکل زیر از کنترلر فراخوانی می کنیم:
public ActionResult Index()
{
MobileService serv = new MobileService();
var datalst = serv.GetMobiles();
TempData["recordcount"] = datalst.Count;
return View(datalst);
}
صفحه وب مشابه تصویر زیر خواهد بود: