.NET Core ile MongoDB kullanımı

.NET Core ile MongoDB kullanımı

NET Core ile MongoDB kullanımı ile ilgili her şey burada! Bu yazımızda NET Core'un en son sürümünü ve MongoDB veritabanının nasıl kullanılabileceğini anlattık Yepyeni bir dünyaya hazır olun!

.NET Core ile MongoDB kullanımı

Bu makalede, .NET Core ve MongoDB arasında nasıl etkileşim kurulacağına ve veritabanına nasıl bağlanılacağına dair adımlar ele alınacak. İki adımda ayrılacak olan bu makalede ilk olarak MongoDB'nin kurulumu ve gereksinimleri açıklanacaktır. İkinci adımda ise .NET Core'un kurulumu ve gereksinimleri belirtilerek, MongoDB veritabanına C# kodu ile nasıl bağlanılacağına ve veri ekleme ve okuma işlemlerinin nasıl gerçekleştirileceğine dair detaylara yer verilecektir. Son olarak da MongoDB ve .NET Core'da yapılan değişikliklerin nasıl kaydedileceği hakkında adımlar belirtilerek makale tamamlanacaktır.


MongoDB Kurulumu

MongoDB, veritabanı yönetimi için kullanılan bir NoSQL türüdür. Kurulumu oldukça basittir ve sizlere sadece birkaç adım gerektirir. İlk olarak, MongoDB'nin sisteminizde çalışabilmesi için gereksinimlerini yerine getirmeniz gerekir. Bunlar; Windows işletim sistemi (minimum Windows 7), 64-bit mimarisi, işlemci hızı en az 2,0 GHz ve 4 GB RAM olmalıdır.

MongoDB'nin son sürümünü indirdikten sonra, yükleyiciyi çalıştırın ve “Complete” seçeneğini seçerek devam edin. Sonrasında, MongoDB'yi başlatmak için komut istemini açın ve “mongod” komutunu girin. Bu komut, MongoDB veritabanı yönetim sisteminin sunucu tarafında çalışmasını başlatacaktır.

Bu adımdan sonra, MongoDB'nin arayüzüne erişmek için bir tarayıcı kullanarak localhost:27017 adresine gidin. Eğer MongoDB sunucusu çalışıyorsa, veritabanı arayüzü sağlanacaktır. Herhangi bir uygulama geliştirme için sağlık durumunu kontrol etmek amacıyla “Test” butonuna tıklayabilirsiniz.

Kurulum tamamlandığında, MongoDB veritabanı yönetim sistemi kullanıma hazır hale gelecektir. Artık, C# kodu kullanarak MongoDB veritabanına bağlanabilir ve veri ekleme, okuma veya güncelleme işlemleri gerçekleştirebilirsiniz. Bu adımlar için birçok kaynak ve örnek mevcuttur, böylece MongoDB ve C# arasındaki bağlantıyı kolayca öğrenebilirsiniz.


.NET Core Kurulumu

.NET Core, Microsoft'un açık kaynaklı, platform bağımsız bir uygulama geliştirme çözümüdür. Yazılımın çalışabilmesi için öncelikle sisteminizde .NET Core'un bulunması gerekiyor. .NET Core kurulumu oldukça hızlı ve kolaydır. İşletim sisteminize göre uygun .NET Core versiyonunu indirmeniz ve kurmanız yeterlidir.

.NET Core kurulumu için gereksinimler şunlardır:

  • Windows 7 SP1 veya üzeri, macOS Sierra 10.12 veya üzeri, veya Linux'un bir sürümü
  • 64-bit mimarisi destekleyen bir işlemci
  • 1 GB RAM (minimum)
  • Asp.Net Core Development sürümü için ayrıca Visual Studio 2015 Update 3 veya üzeri (Windows), Visual Studio Code veya ücretsiz Visual Studio for Mac programları yüklenmiş olmalıdır.

.NET Core kurulumu için aşağıdaki adımları izleyebilirsiniz:

  1. Öncelikle, https://dotnet.microsoft.com/download adresinde .NET Core'un en son sürümünü indirin.
  2. İndirme işlemi tamamlandıktan sonra, .NET Core runtime'ının yüklenebilmesi için gereken paketleri yükleyin. Paketlerin yüklenmesi birkaç dakika sürebilir.
  3. Kurulum tamamlandıktan sonra, bir komut istemi açın ve 'dotnet' komutunu girerek .NET Core'un yüklendiğini doğrulayın. Eğer doğru çalışıyorsa, doğru kurulduğu anlamına gelir.
  4. ".NET new" komutunu yazarak, şablonları kontrol edin ve uygulamalarınızı nasıl oluşturabileceğinizi öğrenin.

.NET Core, hem geliştirme hem de çalışma sırasında oldukça esnek ve özelleştirilebilirdir. Yalnızca belirli bir işletim sistemine bağlı kalmaz ve uygulamanızı çoklu platformlarda da çalıştırabilirsiniz. Bu sayede, yazılımınızı farklı işletim sistemlerine taşımak çok daha kolay ve hızlı hale gelir. Yalnızca birkaç parametre ile uygulama alanlarıyla ilgili çok fazla seçenek sunar. Bu nedenle, birçok geliştirici için vazgeçilmez bir araçtır.


MongoDB Bağlantısı

.NET Core uygulamasında MongoDB veritabanına bağlanmak oldukça kolaydır. Bunun için öncelikle MongoDB.Driver NuGet paketini projeye ekliyoruz. Daha sonra C# kodunu kullanarak bağlantı yapacağız. Bağlantı oluşturmak için MongoClient sınıfından yararlanabilirsiniz.

İlk olarak MongoClient sınıfını kullanarak bir bağlantı adresi belirleyin. Bu adresin tamamı, MongoDB adresi ve port numarasını içermelidir.

Özellik Açıklaması
ConnectionString Bağlantı adresi tanımlar
Database Kullanılacak veritabanının adını belirtir

Bağlantı kurulduktan sonra, MongoDB veritabanındaki koleksiyonlarda CRUD işlemlerini gerçekleştirebiliriz. Bağlantıyı açmak için MongoClient sınıfının GetDatabase() metodunu kullanarak bir IMongoDatabase örneği alın.

MongoClient client = new MongoClient("mongodb://localhost:27017");IMongoDatabase database = client.GetDatabase("MyDatabase");

Yukarıdaki örnekte, "mongodb://localhost:27017" adresindeki localhost, MongoDB sunucunuzun adıdır. "MyDatabase" ise kullanılacak olan veritabanının adını temsil eder.


Veri Ekleme

Bir MongoDB veritabanına veri eklemek oldukça basittir. C# kodu kullanarak MongoDB'ye veri eklemek için, öncelikle MongoDB sürücüsünü yüklediğinizden emin olmanız gerekir.

Daha sonra C# kodunuzu başlatın ve MongoDB'ye bağlanın. Bağlantı başarılı olduktan sonra, bir koleksiyon oluşturun ve verileri koleksiyona ekleyin. İşte adımlar:

  • 1. MongoDB'ye bağlanın
  • 2. Verilerinizi bir nesne olarak oluşturun
  • 3. Bu nesneyi, MongoDB'ye yüklemek için bir koleksiyona ekleyin

Bir örnek kod yapısı aşağıdaki gibidir:

Kod Adı Açıklama
MongoClient client = new MongoClient(); MongoDB'ye bağlanmak için bir MongoClient örneği oluşturun
IMongoDatabase db = client.GetDatabase("databaseismi"); Belirli bir veritabanına bağlanmak için bir IMongoDatabase örneği oluşturun
IMongoCollection<YourClass> collection = db.GetCollection<YourClass>("collectionismi"); Bir koleksiyon oluşturun ve verileri bu koleksiyona yükleyin. YourClass, yükleyeceğiniz verilerin veri yapılarının türüdür.
collection.InsertOne(yourObject); Verileri koleksiyona yüklemek için InsertOne() yöntemini çağırın.

Bu kadar basit! MongoDB'nin sunduğu dinamik veri yapısı sayesinde veri ekleme işlemi oldukça esnektir. Yalnızca birkaç adımı takip ederek, MongoDB'ye veri yüklemeye başlayabilirsiniz.


İmaj Ekleme

MongoDB'ye bir imaj nasıl eklenir? C# kodu kullanarak basit birkaç adımda bu işlem gerçekleştirilebilir. İmaj ekleme işlemi, veritabanınızın nesne depolama alanındaki imajları değiştirmek yerine, imajların kendisi için bir URL depolamasına olanak tanır. Bu, veritabanının hafızasının boşalmasına ve karmaşıklığının azalmasına yardımcı olur. İşlem şu adımlarla gerçekleştirilebilir:

  • İmajı yükleyin ve yükleme işleminden sonra URL'yi alın.
  • URL'yi bir JSON nesnesinde depolayın.
  • JSON nesnesini MongoDB veritabanına ekleyin.

Bu adımları takip ederek, C# kodu kullanarak MongoDB'ye imaj ekleyebilirsiniz. İmajın yüklenmesi ve URL'nin alınması işlemi, sık kullanılan web geliştirme kütüphanelerinden biri olan "Cloudinary" kullanılarak gerçekleştirilebilir. Cloudinary, resim, video ve diğer medya dosyalarını kolayca optimize edebilmenizi ve yönetebilmenizi sağlar.

Bu adımlar, imaj ekleme işlemini basit bir hale getirir ve MongoDB kullanmanızın ne kadar kolay olduğunu gösterir. MongoDB sadece veri depolama altyapısı sağlamakla kalmaz, aynı zamanda verilerin imajlar dahil kolayca eklenmesini ve erişilmesini sağlar.


CSV Ekleme

Bir CSV dosyası, birden fazla veri öğesini aynı anda aktarmak için kullanılan bir dosya türüdür. Bu dosyaların, MongoDB'ye yüklemesi oldukça kolaydır. İşte, .NET Core kullanarak MongoDB'ye CSV dosyasının nasıl ekleneceği hakkında adımlar:

1. İhtiyacımız olan NuGet paketlerini yükleyelim.

Package Versiyon
MongoDB.Driver 2.5.0
Newtonsoft.Json 11.0.2

2. MongoDB'ye bağlanmak için gerekli kod parçacığını ekleyelim.

MongoClient client = new MongoClient(); //MongoDB'ye bağlanmaIMongoDatabase database = client.GetDatabase("DatabaseName"); //Database seçmeIMongoCollection collection = database.GetCollection("CollectionName"); //Koleksiyona erişme

3. CSV dosyasını yüklemek için aşağıdaki kod parçacığını kullanabiliriz.

string filePath = @"C:\\FilePath\\FileName.csv"; //CSV dosyasının yolunu belirlemestring[] csvData = File.ReadAllLines(filePath); //Tüm csv verileri bir diziye okuma işlemiforeach (var row in csvData){    string[] data = row.Split(','); //Satır verilerini ayrı bir diziye ayırma    var document = new BsonDocument { { "Column1", data[0] }, { "Column2", data[1] } }; //Yeni bir Bson dokümanı oluşturma    collection.InsertOne(document); //Koleksiyona doküman ekleme}

4. Son olarak, eklediğimiz verilerin mevcut koleksiyonda bulunup bulunmadığını kontrol edebilir ve sonucu bir konsol üzerinde gösterebiliriz.

var result = collection.Find(new BsonDocument()).ToList(); //Kolleksiyondaki tüm verileri almaforeach (var item in result){    Console.WriteLine(item.ToJson()); //Konsolda sonuçları gösterme}

CSV dosyası yüklemenin bu kadar kolay olması, MongoDB kullanıcılarının verilerini hızlı bir şekilde MongoDB'ye aktarmalarını sağlar.


Veri Okuma

Veri okuma, MongoDB'nin en önemli özelliklerinden biridir ve .NET Core ile MongoDB kullanırken oldukça faydalıdır. MongoDB'den veri okumak için birkaç adım izlenmelidir. İlk adım, veri okumak istediğiniz veritabanına bağlanmak olacaktır. Bu adımdan sonra, veriyi okumak istediğiniz koleksiyona erişmeniz gerekecektir.

MongoDB'den tüm koleksiyonların çekilmesi için, C# kodu kullanarak bir sorgu yapmanız gerekecektir. Bu sorguyu yazdıktan sonra, tüm verileri bir List'e aktarabilirsiniz. List'e aktarılan veriler daha sonra kullanılabilir ve işlenebilir bir hale gelir.

Belirli bir veri setini çekmek için ise, filtreleme işlemi yapmanız gerekecektir. Filtreleme işlemi yaparak, başka verilerden ayırarak sadece istediğiniz veriyi çekebilirsiniz. Bu işlem için öncelikle filtreleme kriterlerinizi belirlemeniz gerekiyor. Daha sonra, C# kodu ile bu kriterleri kullanarak belirli bir veri setini çekebilirsiniz.

MongoDB'den veri okuma konusunda, aynı zamanda projelerinizde kullanabileceğiniz çok sayıda özellik bulunmaktadır. Örneğin, sıralama, sayfalama, özetleme, dış bileşenler ve toplama işlevleri gibi özelliklerini kullanarak verileri daha ayrıntılı şekilde işleyebilirsiniz.

Özetle, MongoDB'den veri okumak, .NET Core ile birlikte kullanıldığında oldukça faydalıdır. Basit birkaç adım izleyerek, verileri kolayca çekebilir ve kullanılabilir bir hale getirebilirsiniz. MongoDB'nin diğer özellikleri ile birleştirildiğinde, verilerinizin etkin bir şekilde yönetilmesini sağlayabilirsiniz.


Tüm Koleksiyonları Çekme

MongoDB, belirli bir koleksiyondaki tüm verileri çekmek için Find() yöntemini kullanır. Bu yöntem, tüm koleksiyonlardaki verileri tek bir sorgu ile çekebilir. Bu sorgu, belirtilen koleksiyona ait tüm verileri döndürecektir.

Bu işlemi gerçekleştirmek için öncelikle MongoClient sınıfını kullanarak bir istemci oluşturmanız gerekiyor. Daha sonra, tüm koleksiyonları çekebilmek için bu istemciyi kullanarak bir MongoClientSettings nesnesi oluşturmanız gerekiyor.

İşlem adımları şu şekildedir:

  • MongoClient sınıfını kullanarak bir istemci oluşturun.
  • MongoClientSettings nesnesi oluşturun.
  • Tüm koleksiyonları bulmak için MongoClientSettings nesnesinin ListDatabases() yöntemini kullanın.
  • ListDatabases() yöntemi, tüm veritabanları ve koleksiyonları içeren bir liste döndürür.
  • Veriler,Find() yöntemi kullanılarak alınabilir.

Aşağıdaki C# kodu, tüm koleksiyonları çekmenin bir örneğidir:

//MongoDB bağlantısını yapılandırmavar client = new MongoClient(connectionString); //Toplamda 2 koleksiyon üzerinde işlem yapıldığı varsayılmıştır.IMongoDatabase db = client.GetDatabase("testdb"); //Tüm koleksiyonları çekmevar collectionNames = db.ListCollections().ToList();foreach (var name in collectionNames){    var collection = db.GetCollection(name["name"].ToString());    var filter = Builders.Filter.Empty;    var documents = collection.Find(filter).ToList();    Console.WriteLine(name["name"].ToString());    foreach (var doc in documents)    {        Console.WriteLine(doc.ToString());    }}

Yukarıdaki kod tüm koleksiyonları döndürür ve bunları ListCollections() yöntemi kullanarak alır. Daha sonra, her koleksiyon için Find() yöntemi kullanarak belirtilen verileri alır ve Console.WriteLine() yöntemi kullanarak çıktı olarak gösterir.


Belirli Bir Veri Setini Çekme

Belirli bir veri setini çekmek için çeşitli filtreleme seçenekleri mevcuttur. Bu filtreleme seçeneklerini kullanarak belirli bir veri setine erişebilir ve istediğiniz verileri alabilirsiniz. İlk olarak, ConnectionString ve MongoClient nesnelerini oluşturunuz. Ardından, istediğiniz veri setinin Generic List'ini oluşturunuz. Bu işlemi gerçekleştirmek için BsonDocument kullanabilirsiniz. Daha sonra, filtrelemek istediğiniz alanları ve koşullarını belirtin. Bu işlemi gerçekleştirmek için BsonDocument kullanabilirsiniz. Örneğin, fiyat 100'den büyük olan kitapları aramak istiyorsanız, bu koşulu filtreleme işlemiyle belirtmelisiniz. Bunu gerçekleştirmek için şu kodu kullanabilirsiniz:

  • BsonDocument filter = new BsonDocument("price",new BsonDocument("$gt", 100));

Ardından, filtrelenmiş veri setini sorgulayın ve Generic List'e aktarın. Bu işlemi gerçekleştirmek için tahlil işlevlerini kullanabilirsiniz. Örneğin, şu kodu kullanarak veri setini sorgulayabilirsiniz:

  • IMongoCollection<YourClass> collection = _database.GetCollection<YourClass>("YourCollection");
  • List<YourClass> yourObjects = collection.Find(filter).ToList();

Bu işlemi gerçekleştirdikten sonra, belirli bir veri setini çekmiş olursunuz ve segmente edilmiş verilerinizi toplayabilirsiniz. Bu adımı gerçekleştirdikten sonra, verileri görüntülemek veya başka bir işlem yapmak için uygulamanızda kullanabilirsiniz.


MongoDB ve .NET Core'da Yapılan Değişikliklerin Kaydedilmesi

MongoDB ve .NET Core çerçevelerinin birleştirilmesi sonucu oluşan yazılım projeleri, kullanıcıların ihtiyaçları doğrultusunda güncellenerek optimize edilmektedir. Bu güncellemelerden kaynaklı değişikliklerin kaydedilmesi ve yönetimi oldukça önemlidir. Bu bölümde, MongoDB ve .NET Core'da yapılan değişikliklerin nasıl kaydedileceği hakkında adımlar ele alınacaktır.

MongoDB, NoSQL veritabanları arasında en çok tercih edilenler arasındadır. .NET Core ise yüksek performansı, açık kaynak yapısı ve platform bağımsızlığı ile öne çıkan bir uygulama olup, bu iki yazılımın birleştirilmesi sayesinde etkili bir veritabanı yönetimi sağlanabilmektedir. Ancak, yapılan değişikliklerin kaydedilmesi ve yönetimi oldukça önemlidir.

MongoDB ve .NET Core çerçevelerinin birleştirilerek veritabanlarının yönetimi gerçekleştirilirken, herhangi bir değişiklik yapılırsa bu değişiklikler kaydedilmelidir. Bunun için aşağıda belirtilen adımlar izlenebilir:

1. MongoDB veritabanına bağlanın.

2. Verileri değiştirin veya güncelleyin.

3. Değişiklikleri kaydedin ve db.SaveChanges() metodu kullanarak veritabanına ekleyin. Bu işlem, yapılan değişiklikleri MongoDB veritabanına yansıtacaktır.

4. Değişiklikleri yönetmek için, MongoDB yapısındaki Transaction ve Lock kullanımı önerilir. Bu sayede, veritabanında yapılan veri değişikliklerinde, bir düğüm başka bir düğümü engelleyemez. Bu yapı sayesinde, değişikliklerin yönetimi daha güvenli hale getirilir.

5. MongoDB ve .NET Core'da yapılan değişikliklerin kaydedilmesi, veritabanı yapılarındaki değişikliklerin de kaydedilmesi anlamına gelir. Buna göre, veritabanı yapılarındaki değişikliklerin yansıtılması için, dotnet ef database update komutu kullanılabilir.

Sonuç olarak, MongoDB ve .NET Core'da yapılan değişikliklerin kaydedilmesi konusu oldukça önemlidir. Bu yazılımların birleştirilmesi ile oluşan projelerde uygun bir değişiklik yönetimi ile oluşabilecek olası hatalar önlenebilir. Ayrıca, MongoDB ve .NET Core çerçeveleri ile veri yönetimi işlemleri daha hızlı, daha esnek ve daha güvenli bir şekilde gerçekleştirilebilir.