Django ile geliştirilmiş MongoDB uygulamaları hakkında bilgi edinmek için doğru yerdesiniz Bu yazıda, en iyi uygulamaları keşfedecek ve geliştirme sürecinde kullanabileceğiniz ipuçları alacaksınız MongoDB ile Django arasındaki güçlü entegrasyondan faydalanın ve kendi uygulamalarınızı oluşturun!
Translation: You are in the right place to learn about MongoDB applications developed with Django In this article, you will discover the best practices and get tips that you can use in your development process Take advantage of the powerful integration between MongoDB and Django and create your own applications!

Bu makale, Django kullanarak MongoDB veritabanı ile geliştirilebilecek uygulamaların nasıl yapılabileceğini ele almaktadır. MongoDB, belge veritabanına dayalı bir açık kaynaklı veritabanı programıdır ve Django için en iyi seçenek ise Django-MongoDB-Engine kullanarak Django'nun sağladığı özellikleri MongoDB ile birleştirmektir.
Django-MongoDB-Engine kütüphanesi kurulumu yaparak Django ile MongoDB entegrasyonunu sağlayabilirsiniz. Ayrıca, bu kütüphane ile MongoDB veritabanına bağlanabilir, kayıt oluşturma, kayıtları güncelleme veya silme işlemini gerçekleştirebilirsiniz. Dahası, bu kombinasyonu kullanarak MongoDB sorguları yapmak da mümkündür. Bu makalede, MongoDB sorguları, filtering, grouping ve sorting işlemleriyle ilgili ayrıntılı bilgi verilecektir.
MongoDB Nedir?
MongoDB, NoSQL veritabanlarından biri olarak sınıflandırılmaktadır. Belge veritabanı modeline dayalı olarak tasarlanmış olan MongoDB, verileri BSON (Binary JSON) formatında saklar. Ayrıca, açık kaynak kodlu bir veritabanı programıdır.
BSON formatı, verilerin daha hızlı ve yüksek performanslı bir şekilde işlenmesini sağlamaktadır. Bunun yanı sıra, MongoDB veritabanı, yüksek ölçeklenebilirlik sağlamak için tasarlanmıştır. Bu nedenle, büyük veri işleme ihtiyacı olan uygulama geliştiricileri tarafından tercih edilmektedir.
MongoDB'nin bir diğer avantajı ise, ölçeklenebilir, esnek ve belge tabanlı bir veri modeli sunmasıdır. Bu sayede, uygulama geliştiricileri verileri herhangi bir sütuna veya tabloya sınırlama olmadan saklayabilirler. Ayrıca, MongoDB ile veritabanı işlemleri paralel olarak ve hızlı bir şekilde gerçekleştirilebilir.
Django ve MongoDB Entegrasyonu
Django ve MongoDB bir araya geldiğinde, bu uyumlu ikili web uygulamalarında yeni işlevler ve özellikler sunar. Django, herhangi bir web uygulamasının geliştirilmesi için öncü bir çerçevedir. Öte yandan, MongoDB, daha önce veri modeli yapılandırmasına uygun olmayan büyük ve karmaşık veri kümeleri için ideal bir açık kaynaklı belge veritabanı yönetim sistemi sağlar.
Bu noktada devreye Django-MongoDB-Engine kütüphanesi girer. Bu araç, Django'nun sunduğu özellikleri MongoDB ile bir araya getirerek mevcut kodu aynen kullanmanızı sağlar. Bu, Django ile çalışmanın avantajlarını elde etmek ve aynı zamanda MongoDB'nin veri esnekliğinden ve ölçeklenebilirliğinden yararlanmak anlamına gelir.
- Django-MongoDB-Engine kullanarak, Django modellerinizi MongoDB belge veritabanına kaydedebilirsiniz.
- Django ORM, MongoDB sorgularını destekleyen çeşitli temel işlevleri korur.
- Model ilişkilerini kullanarak, MongoDB belge veritabanındaki belgeler arasındaki ilişkileri yönetebilirsiniz.
Özetlemek gerekirse, Django'nun sunabileceği tüm temel işlevler, Django-MongoDB-Engine aracılığıyla MongoDB ile kullanılabilir hale gelir. Bu sayede, Django ve MongoDB'nin ortak kullanımı, daha yüksek veri esnekliği, daha iyi ölçeklenebilirlik ve daha az bakım maliyetiyle sonuçlanan gelişmiş bir web uygulaması deneyimi sağlar.
Django-MongoDB-Engine Kurulumu
Django kullanarak MongoDB veritabanı ile entegrasyon yapmak için Django-MongoDB-Engine kütüphanesi kullanılabilir. İlk olarak, bu kütüphanenin kurulumunu gerçekleştirmelisiniz. Kurulum adımlarını takip ederek Django-MongoDB-Engine kütüphanesini kolayca kurabilirsiniz.
- Django-MongoDB-Engine kütüphanesi indirilerek kurulum dosyalarına erişilmelidir.
- Kurulum dosyaları arşivden çıkarıldıktan sonra, setup.py dosyası çalıştırılır.
- Kurulumu tamamlamak için, pip veya easy_install ile kurulum gerçekleştirilir.
Yaptığınız kurulumun sorunsuz olarak çalışması için bazı ayarları da yapmanız gerekir. Bu ayarları Django projenizde yer alan settings.py dosyasına ekleyebilirsiniz. Bu ayarlarla birlikte, Django ve MongoDB arasında sorunsuz bir şekilde entegrasyon sağlayabilirsiniz.
Kurulum Adımları
Django-MongoDB-Engine kütüphanesini kurmak oldukça kolaydır. İlk olarak, pip aracılığıyla kütüphaneyi kurmanız gerekmektedir. Bunun için aşağıdaki komutu kullanabilirsiniz:
pip install django-mongodb-engine
Kütüphane kurulduktan sonra, projenizin settings.py
dosyasında bazı ayarları yapmanız gerekmektedir. Öncelikle, INSTALLED_APPS
bölümüne 'django_mongodb_engine'
eklemelisiniz. Daha sonra, DATABASES
bölümünde MongoDB veritabanı ayarlarını yapmalısınız.
Örneğin, settings.py
dosyanızda aşağıdaki ayarları yapabilirsiniz:
INSTALLED_APPS = [ # ... 'django_mongodb_engine', # ...]DATABASES = { 'default': { 'ENGINE': 'django_mongodb_engine', 'NAME': 'mydatabase', 'HOST': 'localhost', 'PORT': 27017, }}
Bu sayede, Django-MongoDB-Engine kütüphanesi projenizde kullanıma hazır olacaktır.
Django ayarları
Django-MongoDB-Engine kurulumunu yaptıktan sonra, settings.py dosyasında bazı ayarlamalar yapmanız gerekmektedir. Bu ayarlar şunları içermektedir:
- DATABASES: Her şeyden önce, DATABASES öğesinin altında bir MongoDB veritabanı tanımı yapmanız gerekmektedir. Bu, ENGINE adlı bir anahtar içermelidir ve bu anahtar için 'django_mongodb_engine' değerini belirtmelisiniz. Ayrıca, NAME anahtarını da kullanarak MongoDB veritabanı adını tanımlamanız gerekmektedir.
- INSTALLED_APPS: Django-MongoDB-Engine'in doğru bir şekilde kurulduğundan emin olmak için, INSTALLED_APPS listesine 'django_mongodb_engine' uygulamasını eklemeniz gerekmektedir. Bu, uygulamayı Django projesine dahil etmez. Yapmanız gereken tek şey bu uygulamanın yüklendiğinden emin olmaktır.
Bu kolay değişiklikleri yaptıktan sonra, Django-MongoDB-Engine kullanarak MongoDB veritabanınıza bağlanmaya ve model işlemleri gerçekleştirmeye hazırsınız!
Mongodb Bağlantısı Oluşturma
Django-MongoDB-Engine kullanarak, MongoDB veritabanına bağlanmak oldukça kolaydır. Bağlantı için öncelikle MongoDB ayarlarınızı settings.py dosyanızda belirlemeniz gerekmektedir. Aşağıdaki örnek kodları kullanarak MongoDB bağlantınızı kurabilirsiniz:
AYAR | DEĞER |
---|---|
DATABASES['default']['ENGINE'] | 'django_mongodb_engine' |
DATABASES['default']['NAME'] | 'mongodb://HOSTNAME:PORT/DBNAME' |
Burada, HOSTNAME ve PORT kısımlarını MongoDB'nin çalıştığı sunucunun adresi ve port numarası ile değiştirmeniz gerekmektedir. DBNAME kısmını, kullanacağınız MongoDB veritabanının adıyla değiştirin.
Ayaları yapılandırdıktan sonra, bağlantıyı test etmek için bir Python konsolu kullanabilirsiniz. İlk önce, aşağıdaki kodu kullanarak Django'nun ortamınıza yüklenmesi gerekmektedir:
import djangodjango.setup()
Ardından, aşağıdaki kodu kullanarak MongoDB veritabanına bağlanabilirsiniz:
from django_mongodb_engine import connectconnect()
Bağlantı başarılı bir şekilde gerçekleştirildiyse, MongoDB veritabanınızı Django üzerinden kullanmaya hazırsınız demektir.
MongoDB Veritabanı İşlemleri
Django kullanarak MongoDB veritabanı işlemleri oldukça basit ve hızlıdır. Django üzerinden MongoDB'ye kayıt ekleme, güncelleme ve silme işlemleri yapabilirsiniz. Bunun için Django-MongoDB-Engine kütüphanesi kullanmanız gerekmektedir.
Django-MongoDB-Engine ile MongoDB veritabanına bağlanabilir ve veri yükleme, güncelleme, silme işlemleri yapabilirsiniz. Ek olarak, Django-MongoDB-Engine kullanarak, filtreleme, sıralama ve gruplama işlemleri yapabilirsiniz.
MongoDB veritabanında kayıt ekleme işlemi için Django-MongoDB-Engine kullanarak bir model oluşturmanız gerekiyor. Bu işlem için Django'ya model oluşturma kodunu girip, MongoDB'ye kayıt ekleyebilirsiniz. Ayrıca MongoDB verilerini güncelleme ve silme işlemleri de oldukça kolaydır.
Django'da sorgu işlemleri de oldukça kolaydır. Filtreleme, gruplama ve sıralama işlemleri yaparak, verilerinizi daha rahat ve hızlı bir şekilde elde edebilirsiniz. Filtreleme işlemi, MongoDB verileri için ilk ve en önemli sorgu yöntemidir. Birçok parametre kullanarak, istediğiniz veriyi filtreleyebilirsiniz.
Grouping işlemi, veritabanınızda bir grubu ayırmak ve verileri gruplandırmak için kullanılan bir yöntemdir. Sıralama işlemi, verilerinizi belirli bir sıraya koymak için kullanılan bir diğer yöntemdir. Bu yöntemleri kullanarak, verilerinizi daha kolay ve hızlı bir şekilde elde edebilirsiniz.
MongoDB Kayıt Olusturma
MongoDB ile bir Django uygulaması geliştirdiğinizde, MongoDB veritabanına kayıt oluşturma işlemi oldukça kolaydır. Bunun için öncelikle Django-MongoDB-Engine kütüphanesini kurmanız ve MONGODB_DATABASES özelliklerini settings.py dosyasına eklemeniz gerekir.
Veri kaydı oluşturmak için, Django'daki gibi bir model sınıfı oluşturmanız gerekiyor. Model sınıfınızı oluşturduktan sonra kayıt oluşturmak için aşağıdaki örnek kodu kullanabilirsiniz:
Model Sınıfı | Kayıt Oluşturma İşlemi |
---|---|
from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) | from myproject.myapp.models import Blog blog = Blog(title='Django üzerinden MongoDB ile kayıt oluşturma', content='MongoDB veritabanına kayıt oluşturma işlemi oldukça kolay ve basit bir işlemdir.', created_at=datetime.now()) blog.save() |
Yukarıdaki örnek kod, Blog adında bir model sınıfı oluşturur ve bu model sınıfı için bir kayıt oluşturur. Kaydı oluşturmak için model sınıfının başına "from myproject.myapp.models import Blog" kodu ekleyerek model sınıfını projenizdeki yerine göre düzenleyebilirsiniz.
Bu şekilde, Django kullanarak MongoDB veritabanına kayıt oluşturabilir ve bu kayıtları daha sonra kolayca erişebilirsiniz.
MongoDB Kayitlari Güncelleme ve Silme
Django ve MongoDB bir arada kullanıldığında, MongoDB kayıtlarının güncellenmesi ve silinmesi için uygun bir yöntem sunulmaktadır.
Django-MongoDB-Engine kullanarak, MongoDB kayıtlarını güncellemek için update() metodu kullanılabilir. Örneğin, bir kullanıcının adını güncellemek için aşağıdaki kod kullanılabilir:
Alan Adı | Değer |
---|---|
_id | 123 |
ad | Jane |
Bu kod, MongoDB veritabanında "_id" değeri 123 olan kaydı alır ve "ad" alanını "Jane" olarak günceller:
from djongo.models import DjongoModel class User(DjongoModel): _id = models.ObjectIdField() ad = models.CharField(max_length=50) ... user = User.objects.filter(_id=123).update(ad="Jane")
Aynı şekilde, MongoDB kayıtlarını silmek için delete() metodu kullanılabilir. Örneğin, önceki örnekteki kullanıcı kaydını silmek için şu kod kullanılabilir:
user = User.objects.filter(_id=123).delete()
Bu şekilde, Django ve MongoDB'nin güçlü kombinasyonu ile veritabanı kayıtlarını kolayca güncelleyebilir veya silebilirsiniz.
MongoDB Sorgulari
Django-MongoDB-Engine kullanarak MongoDB sorguları yapmak oldukça kolaydır. Filtering, Grouping ve Sorting işlemleri ile MongoDB veritabanından veri çekebilirsiniz.
Filtering, MongoDB veritabanından veri çeken ilk yöntemdir. İstenilen kayıtları filtreleyebilir ve sadece belirli koşulları sağlayan kayıtları getirebilirsiniz. Örneğin, sadece belirli bir fiyat aralığındaki ürünleri getirmek isterseniz, başka bir kategoriye ait tüm kayıtları filtreleyebilirsiniz. Bu işlemi gerçekleştirmek için filter() metodu kullanılır.
Verileri gruplandırma işlemi, MongoDB'da önemli bir konudur. Bu işlemle, benzer özelliklere sahip kayıtları gruplandırıp belirli bir çıktı elde etmek mümkündür. Örneğin, belirli bir şehirde yaşayan ve aynı yaşa sahip kişileri gruplandırabilirsiniz. Bu işlemi gerçekleştirmek için aggregate() metodu kullanılır.
MongoDB veritabanından verilerin sıralanması için de işlem yapmak mümkündür. Veritabanından çekilen verilerin büyüklüğüne veya alfabetik sıralamasına göre sıralama yapabilirsiniz. Bu işlemi gerçekleştirmek için order_by() metodu kullanılır.
Filtering
MongoDB veritabanından veri çeken ilk yöntem olan filtering, belirli koşullara göre veri setlerini sorgulamak için kullanılır. Filtering işlemi, veritabanında bulunan verilerin sınırlandırılmasına yardımcı olur. Bu sayede, gereksiz verilerin yüklenmesinin önüne geçilir ve veritabanı performansı artırılır.
Filtering işlemi, MongoDB veritabanındaki belirli bir koleksiyondan veri seçmek veya sorgulamak için kullanılır. Filtering sorguları, belirli koşulları veya özellikleri karşılayan belgeleri döndürür. MongoDB veritabanında, filtering işlemi yapan birçok yöntem vardır.
Bir veri setinde belirli bir sütuna göre filtreleme işlemi yapmak istiyorsanız, $gt, $lt, $gte, $lte ve $ne gibi karşılaştırma işlemleri kullanılabilir. Bu işlemler, belirli bir değere gore daha büyük, daha küçük, eşit veya eşit olmayan belgeleri listeler.
Filtreleme Tutarı | Operator | Açıklama |
---|---|---|
$gt | Büyüktür | Belirli bir değerden büyük olan verileri getirir. |
$lt | Küçüktür | Belirli bir değerden küçük olan verileri getirir. |
$gte | Büyük veya Eşittir | Belirtilen değere eşit veya büyük olan verileri getirir. |
$lte | Küçük veya Eşittir | Belirtilen değere eşit veya küçük olan verileri getirir. |
$ne | Eşit Değil | Belirtilen değere eşit olmayan verileri getirir. |
Filtering işlemi, koşul ifadelerini birleştirerek daha karmaşık sorgular da yapabilirsiniz. Bu sayede, veritabanından aradığınız verileri daha hızlı ve kolay bir şekilde bulabilirsiniz.
Bu şekilde, MongoDB veritabanından veri çeken ilk yöntem olan filtering işlemi hakkında bilgi edinebilirsiniz. Bu işlemin, veritabanındaki verileri sınırlandırmak ve gereksiz verilerin yüklenmesini önlemek için çok önemlidir.
Grouping
MongoDB veritabanınızda bulunan verileri gruplama işlemi, belirli koşullar sağlandığında oldukça faydalı olabilir. Django-MongoDB-Engine kullanarak, MongoDB veritabanınızda bulunan verileri gruplamak oldukça kolaydır.
Verilerinizi bir grup veya kategoriye göre gruplamak istiyorsanız, $group operatörünü kullanabilirsiniz.
Bir grup oluşturmak için, MongoEngine'de bir Aggregation sorgusu yapmanız gerekmektedir. Bu sorguyu kullanarak, verilerinizi belirli bir alana veya sütuna göre gruplandırabilirsiniz.
Grouping işlemi sırasında, verilerinizi belirli bir alana göre gruplandırıp, belirli bir sütuna göre de sayım işlemi yapabilirsiniz.
Örnek: | example_group = Model.objects.aggregate({'$group': {'_id': "$category", 'count': {'$sum': 1}}}) |
Bu örnekte, 'category' adlı alana göre veriler gruplandırılır ve herbir grubun sayısı 'count' adlı sütunda toplanır. Grouping işlemi sonrasında, yeni bir koleksiyon oluşturulur ve gruplanmış veriler bu koleksiyonda saklanır. Bu yöntem, büyük veri kümelerinde verimli bir şekilde çalıştığı için oldukça faydalıdır.
Sorting
MongoDB veritabanından verilerin sıralanması, verilerin belirli bir kurala göre alfabetik veya sayısal olarak sıralanmasını sağlar. Sorting işlemi, verilerin anlamlı bir şekilde analiz edilmesinde önemlidir.
Bir veritabanında bulunan verilerin sıralanması için, MongoDB komutları kullanılarak bir sıralama yapılabilir. Sorting işlemi yapmak için sort () yöntemi, bir dizi sıralama kriteri belirtmek için kullanılır. Verileri sıralamak için kullanılan sıralama kriterleri, veri türüne ve verilerin içeriğine göre değişebilir.
Sıralama Kriteri | Açıklama |
---|---|
1 | 1 yazılırsa, alanlar artan sırayla sıralanır ve -1 yazılırsa, alanlar azalan sırayla sıralanır. |
"alan adı" | Alana göre sıralama |
Örneğin, bir ürün listesini fiyata göre sıralamak istediğinizde, sort () yöntemini kullanabilirsiniz. Bunun için sort() parametrelerine fiyat alan adı ve bir kriter (artan veya azalan) vermeniz gerekmektedir.
db.products.find().sort({price: 1}) #fiyat alanına göre artan sıralamadb.products.find().sort({price: -1}) #fiyat alanına göre azalan sıralama
Verileri sıralarken, büyük ve küçük harfe duyarlı bir sıralama yapmak isterseniz, sort() yönteminden önce collation () yöntemini kullanabilirsiniz. Collation() yöntemi, sıralama davranışını tanımlayan bir dizi seçenek sağlar.
db.products.find().collation({locale:'tr'}).sort({name:1}) #tr diline göre isim alanına göre artan sıralama
Verilerin sıralanması, MongoDB veritabanındaki verileri analiz etmek ve veriler üzerinde işlemler yapmak için önemlidir. Sorting işlemi ile verilerin belirli bir kurala göre sıralanması, verilerin anlamlı ve okunaklı hale gelmesini sağlar.