Merhabalar,
bu yazımızda MongoDB veritabanının c# ile nasıl entegre edildiğini örneklerle inceleyeceğiz.
NoSQL sistemleri kendi aralarında döküman tabanlı, key/value tabanlı ve grafik tabanlı olarak üç gurupta toplanırlar. MongoDB döküman tabanlıdır ve kullanılması en kolay olandır.
MongoDB'nin şu anki güncel sürümü 2.4.6'dır. http://www.mongodb.org/downloads adresinden ücretsiz olarak indirebilirsiniz.
Sistemimize uygun olanı indirdikten sonra C:\ altına mongodb isimli bir klasör oluşturup bu klasörün içine zip dosyasını çıkaralım.
Veritabanı dosyalarımızın tutulacağı C:\data\db klasörümüzün bulunması gerekiyor. ( Not : bu klasör sabittir ve farklı bir isimde olmamalıdır. )
Şimdi visual studio 2010 ile bir masaüstü projesi açalım ve http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/ adresinden dll dosyalarımızı projemize referans olarak ekleyelim.

Şimdi MongoDB veritabanımızı açmak için Komut istemimizi yönetici olarak çalıştıralım ve C:\mongodb\bin içindeki mongod.exe'yi çalıştıralım.

"admin web console waiting for connections on port 28017" mesajı gelmişse eğer başarıyla açılmış demektir.
try
{
var conn = new MongoDB.Mongo();
conn.Connect();
MessageBox.Show("Connected");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
yukarıdaki kod veritabanımıza bağlantımızı test edecektir.
Şimdi üzerinde çalışacağımız Personel isimli bir class oluşturalım
class Personel
{
public string personelAdi { set; get; }
public int numarasi {set; get; }
public Personel()
{
}
public override string ToString()
{
return this.personelAdi;
}
}
İnsert işlemi
public void insert(){
var p = new Personel();
p.personelAdi = "Kemal";
p.numarasi = 1234;
try
{
var mongo = new MongoDB.Mongo();
mongo.Connect();
var db = mongo.GetDatabase("DemoDB");
var coll = db.GetCollection<Personel>();
coll.Save(p);
MessageBox.Show("kaydedildi");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Update işlemi
public void update(Personel p){
var mongo = new MongoDB.Mongo();
mongo.Connect();
var db = mongo.GetDatabase("Demo");
var coll = db.GetCollection<Personel>();
p.personelAdi = "Duran";
coll.Save(p);
}
Select işlemi
public List<Personel> getPersolonels()
{
var mongo = new MongoDB.Mongo();
mongo.Connect();
var db = mongo.GetDatabase("DemoDB");
var personels = db.GetCollection<Personel>().FindAll().Documents;
return personels.ToList() ;
}
Görüldüğü gibi MongoDB ile veritabanı işlemleri rahatlıkla yapılabilmektedir, büyük projelerde bu gibi sistemler bizi uzun kodlar yazmaktan kurtarmaktadır.
MongoDB yönetim sistemlerinden bazılarının linkini paylaşıyorum :
http://robomongo.org/
http://www.mongodirector.com/
http://mongoexplorer.com/
İyi çalışmalar