MongoDB, veritabanı yönetimi için popüler bir seçenektir Sıralama ve filtreleme işlemleri, verilerinizi düzenleme ve çıkarma işlemlerini kolaylaştırır Bu makalede, MongoDB sıralama ve filtreleme işlemleri için beş örnek uygulama yer almaktadır Bu uygulamalar sayesinde verilerinizi daha verimli ve hızlı bir şekilde yönetebilirsiniz Detayları keşfedin!

Bir veri tabanı yönetim sistemi olan MongoDB, büyük veri depolama ve yönetimi için kullanılan en popüler teknolojilerden biridir. Verileri sıralama ve filtreleme işlemleri, MongoDB kullanıcıları için oldukça faydalıdır. Bu makalede, MongoDB veritabanında sıralama ve filtreleme işlemlerinin nasıl yapıldığını öğreneceksiniz. Sıralama işlemleri, belirli bir sırayla veri çağırma yöntemlerine sahipken, filtreleme işlemleri, belirli koşullara göre veri çağırma yöntemlerine sahiptir.
Bu makale, MongoDB sıralama ve filtreleme işlemleri için 5 örnek uygulamayı sunmaktadır. Bu örnekler, birçok kullanıcının yararına olacaktır, özellikle büyük verilere sahip projelerde çalışanlar için faydalıdır. Örnek uygulamalar, birden fazla kriterle sıralama, tarih tipinde sıralama, limitleme kullanımı ile sıralama ve birden fazla koşulun kullanılması ile filtreleme işlemlerini içermektedir. Ayrıca, MongoDB Aggregation Framework kullanarak filtreleme ve gruplama işlemleri yapılabilmektedir.
Sıralama İşlemleri
Sıralama işlemleri, verilerin belirli bir sırayla getirilmesini sağlayan önemli işlemler arasındadır. MongoDB veritabanında hem Ascending hem de Descending sıralama işlemleri yapılabilmektedir. Aynı zamanda birden fazla alana göre sıralama yapmak da mümkündür.
Örneğin, şehirlerin nüfuslarına göre sıralanması gereken bir veri seti varsa bunun için MongoDB sorguları kullanılabilir. Bu sorgular arasında kullanabileceğimiz bir diğer fonksiyon ise tarih tipindeki verilerin sıralanmasıdır.
Limit kullanarak da sıralama işlemi gerçekleştirilebilir. Bu işlem, sorgularla belirtilen sayıda verinin çağrılmasını sağlar. Bu sayede sistem yükü de azaltılmış olur.
MongoDB sorgularında birden fazla alana göre sıralama işlemi yapmak mümkündür. Bunun için kullanılabilecek iki farklı fonksiyon vardır. İlk fonksiyon kullanılarak birden fazla kriter belirtilir ve bunların sırası gözetilerek veriler sıralanır. İkinci fonksiyon ise verilerin sıralanması ve eşit olan verilerin nasıl yönetileceği ile ilgili belirlemelerin yapılması için kullanılır.
MongoDB'de veri sıralama işlemleri Ascending ve Descending olarak iki farklı şekilde yapılabilir. Ascending sıralama yaparken veriler küçükten büyüğe doğru sıralanırken, Descending sıralama işleminde veriler büyükten küçüğe doğru sıralanır.
Tarih tipindeki verilerin sıralanması da oldukça önemlidir ve MongoDB sorguları ile düzenlenebilir. Bu şekilde, tarih tipindeki verilerin belirli bir sıraya göre getirilmesi sağlanabilir.
Birden Fazla Kriter ile Sıralama
Birden fazla kriter ile sıralama işlemi, MongoDB sorgularında oldukça yaygın olarak kullanılan bir işlemdir. İki alan üzerinde sıralama işlemi yapmak istediğimizde, sorgunun ilk alana göre sıralamasını belirledikten sonra, ikinci alanın sıralamasını belirlemek için sort() metodu kullanılabilir. Örneğin;
Name | Age |
---|---|
John | 25 |
Jane | 27 |
Mike | 25 |
Sara | 23 |
Yukarıdaki örnek veri setinde, isme ve yaşa göre sıralama işlemi yapmak istediğimizi varsayalım. Bu durumda sorgu şu şekilde olacaktır:
db.collection.find().sort({Name: 1, Age: -1})
Burada Name alanına göre artan sıralama yapıldığı için değeri 1, Age alanına göre azalan sıralama yapıldığı için değeri -1 olarak belirlenmiştir.
Aynı şekilde, üç veya daha fazla kriter ile sıralama işlemi yapmak istediğimizde de aynı metodu kullanabiliriz. Örneğin;
City | Age | Salary |
---|---|---|
Los Angeles | 25 | 5000 |
San Francisco | 27 | 7500 |
Chicago | 25 | 4000 |
New York | 23 | 6000 |
Burada, şehir, yaş ve maaşa göre sıralama yapmak istediğimizde sorgu şu şekilde olacaktır:
db.collection.find().sort({City: 1, Age: -1, Salary: -1})
Bu sorgu, önce şehre göre artan sıralama yapacak, daha sonra aynı şehirde yaşa göre azalan sıralama yapacak ve son olarak aynı şehirde ve yaşta maaşa göre azalan sıralama yapacaktır.
Ascending ve Descending Sıralama
Verilerin belirli bir sıralama ile çağrılması işlemleri için MongoDB'de kullanılan yöntemlerden biri sıralama işlemidir. Bu işlem sayesinde veriler belirli bir alana göre artan ya da azalan şekilde çağrılabilir. Ascending ve Descending Sıralama özelliklerini kullanarak verileri sıralamak mümkündür.
Ascending sıralama, verilerin küçükten büyüğe doğru sıralanmasını sağlar. Örnek olarak, bir şirkette çalışanların maaşları ascending olarak sıralanarak en az maaş alan çalışan en başta listelenebilir. Bunun yanı sıra Descending sıralama, verilerin büyükten küçüğe doğru sıralanmasını sağlar. Yine aynı örneği kullanarak, şirket çalışanlarının descending olarak sıralandığı takdirde en yüksek maaş alan çalışan en başta listelenebilir.
Örnek | Ascending Sıralama | Descending Sıralama |
---|---|---|
Maaş | $2,000 | $5,000 |
Yaş | 18 | 65 |
Öğrenci Numarası | 1001 | 1120 |
Yukarıdaki tabloda, örnekler ascending ve descending sıralama özellikleri ile sıralanmıştır. MongoDB'de sıralama yaparken ascending ya da descending parametrelerini kullanarak belirli bir sıralama sağlayabilirsiniz. Örneğin, verileri ID sıralamasına göre ascending şekilde çağırmak istediğinizde aşağıdaki kullanım örneğini kullanabilirsiniz:
db.collection.find().sort({ "_id": 1})
Bu kod satırı ile veriler ID numaralarına göre ascending şekilde çağrılacaktır.
Ascendign ve Descending Sıralama özellikleri sayesinde veriler belirli bir sırayla çağrılabilir, bu da istenilen verilerin elde edilmesini kolaylaştırır.
Date Tipinde Sıralama
Verilerin tarih sırasına göre çekilmesi için MongoDB'de date tipinde sıralama işlemi kullanılır. Bunun için $sort operatörü kullanılır. Örneğin, "orders" koleksiyonunda tarih alanına göre en son siparişleri getirmek için aşağıdaki gibi bir sorgu yapabilirsiniz:
Sorgu | Açıklama |
---|---|
db.orders.find().sort({"date": -1}) | "orders" koleksiyonundaki verileri tarih alanına göre azalan sırayla sıralar. |
db.orders.find().sort({"date": 1}) | "orders" koleksiyonundaki verileri tarih alanına göre artan sırayla sıralar. |
Böylece, istenilen tarih aralığındaki veriler ya da en son eklenen n veri kolayca bulunabilir.
Limit Kullanımı ile Sıralama
Veritabanlarında verileri sıralamak ve belirli kriterlere göre filtrelemek oldukça yaygın işlemlerdir. MongoDB'da da sıralama ve filtreleme işlemleri oldukça basit ve hızlı bir şekilde gerçekleştirilebilir. Limit kullanımı ile sıralama işlemi de bu işlemler arasında yer alır.
Limit kullanımı, belirtilen sayıda verinin sorgu sonucunda getirilmesini sağlar. Bu sayede, sorgu sonucu gereksiz verilerin getirilmemesi ve veritabanının yükünün azaltılması mümkün olur. Örneğin, db.bilgiler.find().limit(5)
sorgusu ile veritabanından sadece ilk 5 kayıt getirilebilir.
Limit kullanımı, sıralama işlemi ile de birleştirilebilir. Bu sayede, belirli bir sıraya göre veriler sorgulanırken, sadece belirtilen adet kadar veri getirilir. Örneğin, db.bilgiler.find().sort({age: 1}).limit(5)
sorgusu ile veriler yaşa göre sıralanırken, sadece ilk 5 kayıt getirilir.
Limit kullanımı ile sıralama işlemi, veritabanlarında oldukça yaygın ve kullanışlı bir tekniktir. Özellikle büyük veritabanlarında verilerin hızlı ve doğru bir şekilde sorgulanması için bu teknik oldukça önemlidir. MongoDB'da limit kullanımı ile sıralama işlemi çok kolay bir şekilde gerçekleştirilebilir.
Filtreleme İşlemleri
MongoDB'da veritabanından belirli koşullara göre veri çağırma işlemleri için filtreleme özellikleri kullanılır. Bu işlemler, veri setinde sadece belirli koşulları sağlayan dokümanların bulunmasını sağlar ve aranan verilerin daha hızlı ve etkili bir şekilde elde edilmesine yardımcı olur.
Basit filtreleme işlemleri, find metodu ile gerçekleştirilir. Bu metot, veritabanındaki dokümanlar arasında belirli koşulları sağlayanları döndürür. Koşullar, {key: value} sözdizimi kullanılarak belirtilir. Comparison operatörleri, filtreleme işlemlerinde kullanılan önemli araçlardan biridir. gt (greater than),gte (greater than or equal to),lt (less than),lte (less than or equal to), ne (not equal) operatörleri ile belirli bir değere göre karşılaştırma yapılabilir.
Birden fazla koşulun birleştirilmesi için ise logical operatörler kullanılır. and, or, nor operatörleri, filtreleme işlemlerinde kullanılır ve veritabanındaki dokümanların belirli koşulları sağlamaları durumunda geri döndürülmesini sağlar.
Ayrıca, MongoDB Aggregation Framework kullanılarak daha karmaşık veri filtreleme işlemleri yapılabilir. Bu framework ile match, group, project, sort operatörleri gibi birçok araç kullanılabilir. Single-pipeline aggregation tek bir yoldan birden fazla operatör kullanarak veri çağırma işlemleri yaparken, multiple-pipeline aggregation birden fazla pipeline kullanarak veri çağırma işlemleri yapmamızı sağlar. Aggregation Framework, büyük ölçekli ve karmaşık veri filtreleme ihtiyaçlarını karşılamada oldukça etkilidir.
Basit Filtrasyon Örneği
MongoDB, filtreleme işlemleri için veritabanından verileri alırken koşulların belirlenmesine izin verir. Bu işlem, özellikle büyük veri kümelerinde işlem yaparken kullanışlı hale gelir. MongoDB ile yapılacak basit filtreleme işlemleri, find()
metodu yardımıyla gerçekleştirilebilir.
Bir örnek senaryo ise, belirli bir tarih aralığındaki sipariş verilerini getirmek olabilir. Bu durumda, ilk önce belirli bir sorgu koşulu ile filtreleme yapılır, ardından sıralama işlemi gerçekleştirilir. Örneğin, MongoDB veritabanındaki orders
koleksiyonundaki tüm siparişlerin tarih alanı order_date
belirli bir tarih aralığında olanları getirmek istediğimizi varsayalım. İşlemi yapmak için şu sorguyu kullanabiliriz:
db.orders.find({"order_date": {"$lt": ISODate("2022-02-01"), "$gte": ISODate("2022-01-01")}})
Bu sorgu, 2022 yılının Ocak ayındaki tüm siparişleri getirecektir. Sorgu, MongoDB için basit bir filtrasyon işlemi olarak kabul edilebilir. Bu örnekte, tarih alanındaki verilerin kullanımına dikkat ediyoruz. Bir tarih aralığı belirtmek için, $lt
(less than) ve $gte
(greater than or equal to) gibi karşılaştırma operatörleri kullanılmaktadır.
Basit bir filtrasyon örneği olarak bu sorgu, MongoDB kullanırken yapılacak birçok işlem için temel bir anlayış sağlar. Veri kümelerini daha fazla filtreleme, gruplama ve sıralama işlemi yapmak isteyenler için, MongoDB'nin sunduğu diğer operatörlerle daha ayrıntılı işlemler yapmak mümkündür.
findBir MongoDB veritabanı sorgusunda kullanılan en temel metotlardan biri olan `find` işlemi, belirli kriterlere göre veri filtrelemesi yapmak için kullanılır. Bu işlem, oluşturulan sorgu ile veritabanında belirli bir koşula uyan tüm kayıtları getirir.
Örneğin, "products" adında bir koleksiyonumuz var ve bu koleksiyonda birkaç farklı özellik içeren kayıtlar bulunuyor. `find` işlemi kullanarak sadece belirli bir kategoriye ait ürünleri getirebiliriz.
```javascriptdb.products.find({ category: "electronics" })```
`find` metodu içine koşulumuzu JSON formatında yazıyoruz. Yukarıdaki örnekte, "category" alanı "electronics" olan tüm kayıtlar getirilecektir. Daha detaylı sorgular için, `find` metodu içine daha fazla koşul da ekleyebiliriz.
```javascriptdb.products.find({ $and: [ { category: "electronics" }, { price: { $lt: 500 } } ]})```
Bu sorguda ise, "category" alanı "electronics" ve "price" alanı 500'den küçük olan tüm kayıtlar getirilecektir.
`find` metodunda ayrıca seçici sorgular yapmak için diğer operatörler de kullanılabilir. Tarih aralığına göre sıralama yapmak için `$gte` ve `$lte`, eşit olmayanları getirmek için `$ne`, büyük/küçük sembolleri için `$gt` ve `$lt` kullanabilirsiniz.
`find` metodu, kullanımı oldukça kolay ve basit bir yöntemdir ve MongoDB'yi kullanarak veri filtrelemesi yapmak istiyorsanız mutlaka öğrenmeniz gereken bir metottur.
metodu kullanılarak basit filtreleme işlemlerin nasıl yapılacağına dair örnek.MongoDB veritabanında basit filtreleme işlemi yapmak için find
metodu kullanılır. Bu metot, MongoDB veritabanındaki belirli koşullara uyan belirtilen alanları getirir. Örneğin, aşağıdaki sorgu kullanılarak "employees" koleksiyonundaki "age" alanı 25 olan tüm kayıtlar getirilir:
db.employees.find({"age":25})
Bu sorgu, "employees" koleksiyonundaki tüm kayıtları tarayacak, "age" alanı 25 olan belirtilen alanları getirecektir. Ayrıca, find
metodu ile diğer filtreleme seçeneklerini de kullanabilirsiniz. Örneğin, "name" alanı "John" olan veya "age" alanı 25'ten büyük olan tüm kayıtlar aşağıdaki gibi getirilebilir:
db.employees.find({$or:[{"name":"John"},{"age":{$gt:25}}]})
Bu sorgu, "employees" koleksiyonundaki "name" alanı "John" olan veya "age" alanı 25'ten büyük olan tüm kayıtları getirecektir. $or
operatörü kullanılarak iki farklı koşul bir arada kullanılmıştır.
Comparison Operatörleri İle Filtreleme
MongoDB veritabanında filtreleme işlemi yaparken, comparison operatörleri kullanarak karşılaştırma işlemi yapılabiliyor. Bu operatörler;
- $gt: büyüktür.
- $gte: büyük veya eşittir.
- $lt: küçüktür.
- $lte: küçük veya eşittir.
- $ne: eşit olmayan.
gt operatörü, belirtilen bir alanın değerlerinin, belirtilen bir değerden büyük olduğu verileri filtrelemek için kullanılır. Örneğin, bir müşteri veri tabanında, satın alma tutarı 100 TL'den fazla olan müşterileri filtrelemek için gt operatörü kullanılabilir.
Aşağıdaki örnekte, customers adlı koleksiyonda, purchasedAmount alanı belirtilen değerden büyük olan kayıtları filtrelemek için gt operatörü kullanılmıştır:
db.customers.find({ purchasedAmount: { $gt: 100 } })
Bu örnekte, 'purchasedAmount' alanı 100 TL'den fazla olan müşterileri filtreler.
Bu operatör, diğer karşılaştırma operatörleri ile birlikte de kullanılabilir. Bu şekilde, birden fazla koşulu karşılayan veriler filtrelenir. Örneğin, aşağıdaki örnekte, satın alma tutarı 100 TL'den büyük ve 500 TL'den küçük olan kayıtlar filtrelenir:
db.customers.find({ purchasedAmount: { $gt: 100, $lt: 500 } })
Bu şekilde, birden fazla koşul kullandığınızda, filtrelemesi gereken verileri daha spesifik hale getirerek, daha doğru sonuçlar elde edebilirsiniz.
,Bu makalede, MongoDB veritabanının sıralama ve filtreleme özelliklerini öğrenerek, verilerin belirli sıralamalarda ve koşullara göre çağırılmasını sağlayabilmenizi hedefliyoruz. Veritabanlarında sıralama ve filtreleme işlemleri son derece önemlidir çünkü çağrılan verilerin doğru sıralamada ve koşullara göre seçilmesi gerekmektedir.
MongoDB'de sıralama işlemleri yaparken birden fazla kritere göre sıralama, artan veya azalan sırayla sıralama ve tarih tipindeki verilerin nasıl sıralanacağı özellikleri kullanılabilir. Filtreleme işlemlerinde ise find metodu ile basit filtrelemeler, comparison operatörleri ile karşılaştırma işlemleri ve birden fazla koşulun birleştirilerek kullanıldığı logical operatörler ile filtreleme işlemleri yapılabilir. Ayrıca, aggregation framework kullanarak match, group, project ve sort operatörleri ile filtreleme ve gruplama işlemleri de gerçekleştirilebilir.
Bu özelliklerin yanı sıra, tek bir yoldan birden fazla operatör kullanarak veri çağırmak için single-pipeline aggregation ve birden fazla pipeline kullanarak veri çağırmak için multiple-pipeline aggregation özellikleri de kullanılabilir.
Sıralama ve filtreleme özellikleri sayesinde, veri analizi ve raporlama işlemlerinde verilerin doğru bir şekilde çağrılması sağlanmaktadır. MongoDB'un bu özelliklerini kullanarak, veritabanında depolanan verilerin doğru sıralamada ve koşullara göre seçilmesi ve işlenmesi sağlanabilir.
gteoperatörü, MongoDB sorgularında kullanılan bir karşılaştırma operatörüdür. "Greater than or equal to" kelimelerinin kısaltmasıdır ve Türkçe karşılığı "büyük veya eşit" anlamındadır. Bu operatör, belirlenen değere eşit veya daha büyük olan verileri sorgulamak için kullanılır.
Örneğin, bir MongoDB veritabanında bir öğrenci koleksiyonu varsa ve koleksiyon içinde "math" alanını filtrelemek istiyorsak, "math" alanında en az 80 alanına sahip öğrencileri sorgulamak için "gte" operatörü kullanılabilir. Bu durumda sorgu, {"math": {"$gte": 80}} şeklinde olacaktır.
Ayrıca, gte operatörü ile ilgili bir diğer örnek ise tarih değerleri üzerinde yapılabilir. Örneğin, bir MongoDB veritabanında tarih alanı "date" olarak belirlenmiş bir koleksiyonumuz varsa ve 2021 yılından sonraki tarihleri sorgulamak istiyorsak, sorgu {"date": {"$gte": new Date("2021-01-01")}} şeklinde olacaktır.
Bu örneklerde de görülebileceği gibi, gte operatörü, belirli koşullara göre koleksiyondaki verileri filtrelemek için oldukça faydalıdır.
,Verilerin belirli bir sırayla getirilmesi için kullanılan örnek uygulamalar.
Sıralama işlemleri, MongoDB veritabanında verileri belirli bir sırayla getirme işlemidir. Birçok durumda verilerin sıralı bir şekilde getirilmesi gerekir. Bu sebeple MongoDB, verilerin sıralanması için bir dizi seçenek sunar. İşte, verilerin belirli bir sırayla getirilmesi için kullanabileceğiniz beş örnek uygulamalar:
MongoDB sorgularında birden fazla alana göre sıralama işlemi yapmak oldukça yaygındır. Örneğin, "name" alanına göre sıralama yaparken, "age" alanına göre daha sonra sıralama yapmak isteyebilirsiniz. Bu durumda,
{"name" : 1, "age" : -1}kod kullanarak "name" alanına göre artan, "age" alanına göre azalan sıralama yapabilirsiniz.
MongoDB'de sıralama işlemi yaparken, verileri artan veya azalan sırayla çağırabilirsiniz. Örneğin, "name" alanına göre artan sıralama yapmak isterseniz,
{"name" : 1}kullanabilirsiniz. Aksine, azalan sıralama yapmak isterseniz,
{"name" : -1}kodunu kullanabilirsiniz.
MongoDB'de tarih verisi tutarken, verilerin tarih sırasına göre sıralanması gerekir. Tarih verileri,
ISODate("2022-01-01")gibi bir formatta tutulur. Bir sonraki örnek kod, "date" alanına göre artan tarih sıralaması yapar.
{"date" : 1}
MongoDB'de sıralama işlemi yaparken, belirli bir sayıda veri çağırmak isteyebilirsiniz. Bu durumda, sorgunun sonuna "limit" fonksiyonunu ekleyerek sadece belirli bir sayıda veri alınabilir. Örneğin, aşağıdaki örnek kod, "name" alanına göre artan sıralama yaptıktan sonra sadece ilk beş sonucu alır.
db.collection.find().sort({"name" : 1}).limit(5)lt
MongoDB'da Filtreleme işlemleri içerisinde en sık kullanılan operatörlerden birisi de lt (less than) operatörüdür. Bu operatör, belirtilen değerden küçük olan verilerin getirilmesini sağlar. Örneğin, bir koleksiyon içerisindeki fiyatları 1000 TL'den küçük olan ürünlerin listelenmesi için kullanılabilir.
lt operatörü, bir sorgu içerisinde şu şekilde kullanılır:
db.Urunler.find({fiyat: {$lt: 1000}})
Yukarıdaki örnekte, 'Urunler' koleksiyonu içerisinde yer alan 'fiyat' alanı 1000 TL'den küçük olan verileri getirir.
lt operatörü ayrıca, birden fazla koşulun kullanılabildiği sorgularda da kullanılabilir. Örneğin:
db.Urunler.find({fiyat: {$lt: 1000}, marka: 'Samsung'})
Yukarıdaki sorgu, 'Urunler' koleksiyonu içerisinde yer alan 'fiyat' alanı 1000 TL'den küçük ve 'marka' alanı 'Samsung' olan verileri getirir.
lt operatörü, diğer karşılaştırma operatörleri (gt, gte, lte, ne) gibi karmaşık filtreleme işlemlerinde de kullanılabilir. Aggregation Framework içerisinde de kullanılabilmektedir.
Sonuç olarak, lt operatörü, MongoDB'da verileri belirli bir değerden küçük olanları filtrelemede kullanılan önemli bir operatördür. Karmaşık sorgular içerisinde kullanılabildiği gibi, Aggregation Framework ile birlikte de kullanıcılarına esnek bir filtreleme işlemini sunmaktadır.
,MongoDB veritabanında sıralama işlemleri oldukça kolaydır. Sıralama işlemi, verilerin belirli bir sırayla getirilmesi için kullanılan önemli bir özelliktir. Bu işlemi gerçekleştirmek için birden fazla yöntem vardır.
Birden fazla kriter ile sıralama işlemi örneğinde, MongoDB sorgularında birden fazla alana göre sıralama işlemi nasıl yapılır? diye sorabiliriz. Verilerin artan veya azalan sırayla çağrılması için ascending ve descending sıralama işlemleri kullanılır. Date tipinde sıralama örneği ile MongoDB verileri tarih tipine göre nasıl sıralayacağınızı öğrenebilirsiniz. Limit kullanımı ile sıralama örneği, sorgularla belirtilen sayıda veri çağırma işlemi yapmak için kullanılır.
Filtreleme işlemleri ile veritabanından belirli koşullara göre veri çağırma işlemleri yapılabilir. Basit filtreleme örneğinde, find metodu kullanılarak basit filtreleme işlemleri nasıl yapılacağına dair örnek verilmiştir. Comparison operatörleri ile filtreleme örneğinde gt, gte, lt, lte, ne operatörleri kullanılarak karşılaştırma işlemi yapmanız öğretilecek. Logical operatörler ile filtreleme örneğinde ise birden fazla koşulun birleştirilerek kullanılması ile filtreleme işlemi yapılması örneklendirilmiştir.
Aggregation framework kullanarak filtreleme işlemleri örneğinde ise match, group, project ve sort operatörleri kullanılarak filtreleme ve gruplama işlemleri yapılabilir. Single-pipeline aggregation kullanımı ile tek bir yoldan birden fazla operatör kullanarak veri çağırma işlemleri yapabilirsiniz. Multiple-pipeline aggregation kullanımı ile birden fazla pipeline kullanarak veri çağırma işlemleri yapabilmeniz mümkündür.
ltelte operatörü, belirtilen alandan küçük veya eşit olan verilere filtreleme işlemi yapmak için kullanılır. Örneğin, bir ürün veritabanında stokta kalan ürünleri listelemek için lte operatörü kullanılabilir.
Aşağıdaki örnek sorguda, "stok" alanında 20 adetten az veya eşit olan ürünler sıralanır:
```javascriptdb.urunler.find({stok: {$lte: 20}})```
Bu sorgu, "urunler" koleksiyonunda "stok" alanındaki değeri 20'den küçük veya eşit olan tüm ürünleri listeler.
lte operatörünün kullanımı, diğer karşılaştırma operatörleri ile birlikte kullanıldığında daha efektif hale gelebilir. Örneğin, "stok" alanındaki ürünleri 10'dan fazla olan ve fiyatı 100 TL'den az olan ürünleri listelemek için aşağıdaki sorgu kullanılabilir:
```javascriptdb.urunler.find({stok: {$gt: 10}, fiyat: {$lt: 100}})```
Bu sorgu, "stok" alanındaki değeri 10'dan büyük, "fiyat" alanındaki değeri 100 TL'den küçük olan tüm ürünleri listeler.
Bu örnekler, MongoDB sıralama ve filtreleme işlemlerinin nasıl yapıldığına dair sadece birkaç örnektir. MongoDB'de sıralama ve filtreleme işlemleri, veritabanındaki verilerin hızlı ve doğru bir şekilde erişilmesi için çok önemlidir.
,MongoDB, birden fazla kriter kullanarak sorguları sıralama özelliği sunar. sort() metodu, sıralamanın nasıl yapılacağını belirler. İlk örnek olarak, bir kullanıcının adı ve yaşına göre sıralama yapalım. Bu sorgu db.users.find().sort({name: 1, age:-1}) şeklinde yazılır. Burada, name:1 ifadesi, kullanıcı adının alfabetik olarak artan sırayla sıralanmasını sağlar. age:-1 ifadesi ise, yaş sırasının azalan olarak sıralanacağını belirtir.
Ayrıca, sıralamada ascending (artan) ve descending (azalan) olmak üzere iki seçenek vardır. Bunun için, ilgili alana 1 veya -1 değerleri atanır. Örneğin, bir veritabanında tarih bilgisi içeren bir alana göre sıralama yapmak için sort({date:1}) veya sort({date:-1}) kullanabilirsiniz.
Sıralamaya limit eklemek için ise limit() metodunu kullanabilirsiniz. Örneğin, db.users.find().sort({name:1}).limit(10) sorgusu, kullanıcı adı a-z sırasına göre ilk 10 kaydı getirecektir.
neMongoDB Sorgularında Comparison Operatörleri ile Filtreleme İşlemleri
MongoDB'de, veritabanından verilerin filtrelenmesinde comparison operatörleri kullanılır. "ne", "gt", "gte", "lt" ve "lte" gibi operatörler, verilerin farklı alanlarına göre karşılaştırma işlemlerinde kullanılır. Bu operatörler kullanılarak, belirli bir sürede yapılan satışlar, belirli bir fiyat aralığındaki ürünler veya belirli bir tarihten sonra oluşturulan veriler gibi özellikleri olan veriler çağırılabilir.
Bu operatörlerin kullanımı oldukça kolaydır. Örneğin "ne" kullanarak belirli bir koşulu sağlamayan veriler çağırılabilir. "lt" operatörü, belirli bir sayının altındaki verileri, "gt" ise üzerindekileri çağırmak için kullanılabilir. Benzer şekilde "gte" ve "lte" de, belirli bir sayıyı dahil ederek, onun üzerinde veya altında bulunan verileri çağırmak için kullanılır.
Ayrıca, gömülü bir kullanım için bu operatörler bir arada kullanılabilir. Örneğin, "gte" ve "lte" operatörlerini kullanarak belirli bir fiyat aralığındaki ürünleri çağırmak mümkündür. Bu şekilde işlemlerinizi daha da optimize edebilirsiniz.
Comparison operatörleri, veritabanınızda aradığınız verileri bulmak ve çağırmak için oldukça faydalıdır. Ancak, doğru kriterleri seçmek ve operatörleri doğru şekilde kullanmak önemlidir. Bu nedenle, veritabanınızı inceleyerek en uygun filtreleme işlemlerini gerçekleştirebilirsiniz.
operatörleri kullanılarak karşılaştırma işlemi yapma.MongoDB, gt (greater than) , gte (greater than or equal to) , lt (less than) , lte (less than or equal to) ve ne (not equal to)operatörlerini kullanarak verileri filtreleyebilirsiniz. Her bir operatör karşılaştırma işlemini gerçekleştirir ve sonucuna göre verileri getirir. İşlemin kullanımı oldukça basittir. Bir örnek vermek gerekirse, şu şekilde bir sorgu ile belirli bir değerden büyük olan verileri getirebilirsiniz:
```db.collection.find({ field: { $gt: deger } })```
Burada,field: alan ismi,$gt: operatör, değer ise belirli bir rakamdır.
Benzer şekilde, $lt ve $ne operatörleri ile de ilgili verileri filtrelemek mümkündür. Birden fazla koşulu da kullanarak filtreleme işlemi yapabilirsiniz. Koşullar {$and: []} ile belirtilir. Örneğin, belirli bir tarihten küçük ve belirli bir ücretten büyük olan verileri getirmek istediğinizde şöyle bir sorgu yapabilirsiniz:
```db.collection.find({ $and: [ { tarih: { $lt: belirli_tarih } }, { ucret: { $gt: belirli_ucret } } ]})```
Bu sorguyla belirli bir tarihten küçük olan ve belirli bir ücretten büyük olan verileri filtreleyebilirsiniz. Comparison operatörleri ile filtreleme işlemi, MongoDB'nin en sık kullanılan filtreleme tekniklerinden biridir.
Logical Operatörler İle Filtreleme
MongoDB'de kullanabileceğiniz filtreleme yöntemlerinden biri de mantıksal (logical) operatörler kullanarak birden fazla koşulun birleştirilmesiyle yapılır.
Bu yöntem, bir ya da daha fazla koşulu birleştirerek daha karmaşık sorgular yapmamızı sağlar.
Mantıksal operatörlerimiz ise şunlardır:
Operatör | Anlamı |
---|---|
$and | Tüm koşulların doğru olması gerektiği anlamına gelir. |
$or | En az bir koşulun doğru olması gerektiği anlamına gelir. |
$not | Belirtilen koşulu yerine getiremeyen alanları döndürür. |
$nor | Hiçbir koşulun doğru olmaması gerektiği anlamına gelir. |
Bu operatörleri kullanarak filtreleme işlemlerimiz daha spesifik hale gelebilir. Örneğin, bir sorguda hem birkaç farklı koşulu sağlayan hem de tek bir koşulu sağlayan verileri bulmak isteyebilirsiniz.
Karmaşık sorgular oluşturmak için ise bu operatörleri belirli bir birleştirme düzeniyle kullanabilirsiniz. Her operatörün özelliklerini bilmek ve nasıl birleştirileceğini bilmek oldukça önemlidir.
Mantıksal operatörlere birkaç örnek vermek gerekirse:
- $and Operatörü: { $and: [ { field1: value1 }, { field2: value2 } ] }
- $or Operatörü: { $or: [ { field1: value1 }, { field2: value2 } ] }
- $not Operatörü: { field: { $not: { $gt: value } } }
Aggregation Framework Kullanarak Filtreleme İşlemleri
Aggregation Framework, MongoDB veritabanında filtreleme ve gruplama işlemleri yapmak için kullanılan bir araçtır. Bu araç, verilerin belirli koşullara göre filtrelenmesi, gruplanması, sıralanması ve yeniden şekillendirilmesine izin verir.
Aggregation Framework'ün dört temel operatörü vardır: match, group, project ve sort. match operatörü, belirli koşulları karşılayan verileri filtreler. group operatörü, belirli bir alanı gruplayarak verileri yeniden şekillendirir. project operatörü ise verilerin belirli alanlarını seçerek yeniden düzenler. Son olarak, sort operatörü, verilerin belirli bir sırayla çağrılmasına izin verir.
Single-Pipeline Aggregation, tek bir pipeline kullanılarak veri çağırma işlemleri yapar. Bu, basit filtrelemeler için idealdir. Multiple-Pipeline Aggregation ise birden fazla pipeline kullanılarak daha karmaşık filtreleme ve gruplama işlemleri yapmaya olanak sağlar.
Aggregation Framework kullanımı, kompleks sorguların yürütülmesini kolaylaştırırken, aynı zamanda sorguların daha fazla optimize edilmesine veya özelleştirilmesine imkan verir. Özellikle büyük veritabanlarıyla çalışırken kullanıcıların zaman kazanmasına yardımcı olabilir.
Bu nedenle, MongoDB filtreleme ve sıralama işlemleri yaparken Aggregation Framework kullanmanın faydalı olduğu görülmektedir.
matchmatch operatörü, belirli bir koşulu karşılayan verileri filtrelemek için kullanılır. Bu operatörü, $match anahtar kelimesiyle birlikte kullanabilirsiniz. Bu operatör, MongoDB'deki sorgu dilinde yerel bir dil yapısına sahiptir. Bu sebeple, veritabanına sorduğunuz sorulara doğal bir şekilde cevap alabilirsiniz.
match operatörü sayesinde, veritabanınızda büyük veri kümesi üzerinde çalışırken performansı artırabilirsiniz. Sadece ihtiyaç duyduğunuz belirli bir koşulu karşılayan verileri çeker ve diğer verileri filtreler.
Örneğin:
db.products.aggregate([ | { $match: { category: "elektronik" } } | ]); |
Bu operatör, veritabanından sadece "elektronik" kategorisindeki ürünleri getirir.
,MongoDB veritabanının güçlü özelliklerinden biri, verilerin belirli bir sırayla getirilmesi için kullanılabilen sıralama işlemleridir. Aşağıda, MongoDB sıralama işlemleri için örnek uygulamaları bulabilirsiniz:
MongoDB sorgularında birden fazla alana göre sıralama işlemi yapmak için, istenen kriterleri virgülle ayırarak kullanabilirsiniz. Örneğin, bir kısımlar veritabanındaki kitapları fiyatlarına göre ve sonrasında yazar isimlerine göre sıralamak istediğimizi düşünelim. Aşağıdaki sorguyu kullanarak bu işlemi gerçekleştirebiliriz:
Sorgu | Açıklama |
---|---|
db.books.find().sort({price: 1, "author.name": 1}) | Fiyatlarına göre artan sırayla kitapları çağırır. Eşit fiyatlar durumunda yazar isimleri göz önünde bulundurulur ve alfabetik sıraya göre kitaplar sıralanır. |
Bazı durumlarda, verilerin artan veya azalan sırayla çağrılmasını tercih edebilirsiniz. MongoDB'de, ascending sıralama için 1 ve descending sıralama için -1 kullanılmalıdır. Örneğin, kitapları fiyatlarına göre descending sıralamak için şu sorguyu kullanabiliriz:
Sorgu | Açıklama |
---|---|
db.books.find().sort({price: -1}) | Kitapları fiyatlarına göre azalan sırayla çağırır. |
Tarih tipindeki verilerin sıralanması, tarihleri ISOString tipine dönüştürerek yapılabilir. Örneğin, kitapları çıkış tarihlerine göre descending sıralamak için şu sorguyu kullanabiliriz:
Sorgu | Açıklama |
---|---|
db.books.find().sort({"publicationDate": -1}) | Kitapları çıkış tarihlerine göre descending sırayla çağırır. |
Belirli sayıda veri çağırma işlemlerinde kullanılan limit fonksiyonu, sorgulara uygulanabilir. Örneğin, en ucuz 5 kitabı çağırmak istediğimizi düşünelim. Aşağıdaki sorguyu kullanarak limit fonksiyonunu bu amaçla kullanabiliriz:
Sorgu | Açıklama |
---|---|
db.books.find().sort({price: 1}).limit(5) | Fiyata göre artan sırayla kitapları çağırır ve ilk 5 kitabı gösterir. |
db.collection.aggregate([ { $group: { _id: {"field1":"$field1", "field2":"$field2"}, count: { $sum: 1 } }}]);
Yukarıdaki örnekte, collection'ın belirli alanlarına göre gruplandırıldığı görülüyor. "$field1" ve "$field2" alanları, gruplandırma kriterleri olarak kullanılmaktadır. Belirli bir kategoriye ait belgelerin toplam sayısı "count" ile hesaplanmaktadır. Bu şekilde, MongoDB'da group operatörünü kullanarak belirli kriterlere göre gruplama işlemi yapabilirsiniz.,MongoDB'de sıralama işlemleri, verilerin belirli bir sıra ile çağrılması için yapılan birçok farklı işlemi içerebilir. İşte size birkaç örnek:
Bazı durumlarda, verilerin bir alana göre sıralanması yeterli olmayabilir. Bunun yerine, birden fazla alana göre sıralama yapmak isteyebilirsiniz. Bu durumda, MongoDB sorgularında sort() metodu kullanılarak birden fazla kriter belirtilebilir. Örneğin:
Product Name | Price | Expiration Date |
---|---|---|
Apple | 2.5 | 2022-10-01 |
Pear | 3.0 | 2022-10-01 |
Banana | 2.0 | 2022-09-01 |
Yukarıdaki örnekte, ürünler tarihlerine göre önce en yakın tarih olacak şekilde, aynı tarihlerde ise fiyatlarına göre düzenlenecektir.
Bir başka yaygın ihtiyaç, verilerin artan veya azalan şekilde sıralanmasıdır. Bu durumda, sort()metodunun bir parametre olarak verilen 1 veya -1 sayılarını kullanarak yapılabilir.
db.products.find().sort({price:1})
db.products.find().sort({price:-1})
Veritabanımızdaki tarihler üzerinde sıralama yapmak istediğimizde, JavaScript'in Date nesnesini kullanabiliriz. Örneğin:
db.orders.find().sort({order_date:1})
Bu örnek sorgu, verileri en eski tarihli olanından başlayarak tarih sırasına göre çağıracaktır.
projectProject:
Proje operatörü, veritabanından belirli alanları çağırmak için kullanılır. Bu sayede veri tabanındaki belirli alanlar listelenerek, ihtiyaç duyulan veriler kolaylıkla elde edilebilir. Bu sayede fazla veri indirilmeden, sadece belirli alanlar çağırılır ve gereksiz yere sistem kaynakları kullanılmaz.
Proje operatörü genellikle db.collection.aggregate({ $project: { alan1: 1, alan2: 1 }})
şeklinde kullanılır. Bu sorgu, alan1 ve alan2 sütunlarını getirir. Eğer sadece bir alan çağrılacaksa, alan ismi birinci parametre olarak belirtilir ve değer olarak 1 atanır. Bu sayede yalnızca o alan çağrılmış olur. Bazı örnekler şunlardır:
- Belirli bir alanın çağrılması için:
db.collection.aggregate({ $project: { _id: 0, alan: 1 }})
- İki alanın çağrılması için:
db.collection.aggregate({ $project: { _id: 0, alan1: 1, alan2: 1 }})
- Türkçe karakterlerin kullanılabileceği şekilde:
db.collection.aggregate({ $project: { _id: 0, "alan": 1 }})
Proje operatöründe alan isimlerini belirtirken "_" kullanılmaması önerilir. Ayrıca, birden fazla alan çağrılırken arada virgül kullanılması gerektiği unutulmamalıdır.
,MongoDB Sıralama ve Filtreleme İşlemleri İçin 5 Örnek Uygulama
Bu makalede, MongoDB veritabanında sıralama ve filtreleme işlemlerinin nasıl yapıldığını öğreneceksiniz.
Sıralama İşlemleri
Verilerin belirli bir sırayla getirilmesi için kullanılan örnek uygulamalar ile devam ediyoruz. Örneğin, MongoDB sorgularında birden fazla alana göre sıralama işlemi nasıl yapılır? Bunun için ``` db.collection.find().sort({field1: sortOrder1, field2: sortOrder2})``` kullanılabilir. Ascending ve Descending sıralama, yani verilerin artan veya azalan sırayla çağrılması da oldukça işlevsel bir kullanım örneğidir. MongoDB sorgularında bu işlem için ``` db.collection.find().sort({field: sortOrder})```kullanılabilir.
Date tipindeki verilerin nasıl sıralandığına dair örnekler de mevcuttur. Örneğin MongoDB'de tarih tipindeki veriler, ISODate() ile saklanan MongoDB milisaniye formatında saklanır. Bir sorgu iletildiğinde, bu verilerin doğru bir şekilde sıralanması oldukça önemlidir.
Limit Kullanımı ile Sıralama, yani sorgularla belirtilen sayıda veri çağırma işlemleri de oldukça yararlıdır. ``` db.collection.find().sort({field: sortOrder}).limit(count)``` ile sorgular düzenlenebilir.
Filtreleme İşlemleri
Veritabanından belirli koşullara göre veri çağırma işlemleri de oldukça önemlidir. Basit Filtrasyon Örneği, yani find metodu kullanılarak basit filtreleme işlemlerinin nasıl yapılacağına dair örnekler verilebilir. ``` db.collection.find({field: value})``` yapısı sıklıkla kullanılır. Comparison operatörleri ile filtreleme de oldukça işlevseldir. gt, gte, lt, lte, ne operatörleri kullanılarak karşılaştırma işlemi yapılabilir.
Logical operatörler ile filtreleme de veritabanı sorgularında kullanılabilir. Birden fazla koşulun birleştirilerek kullanılması ile filtreleme işlemi yapmak da mümkün. Bu kullanım için ```db.collection.find({$and: [{field1: value1}, {field2: value2}]})```kullanılabilir.
Aggregation Framework Kullanarak Filtreleme İşlemleri
Aggregation Framework kullanarak filtreleme işlemleri oldukça verimli ve hızlıdır. match, group, project, sort operatörleri kullanılarak filtreleme ve gruplama işlemleri yapılabilir. Single-Pipeline Aggregation Kullanımı, yani tek bir yoldan birden fazla operatör kullanarak veri çağırma işlemleri son derece işlevseldir. ```db.collection.aggregate({$match: {field: value}}, {$group: {_id: "$field", count: {$sum: 1}}})```Multiple-Pipeline Aggregation Kullanımı, yani birden fazla pipeline kullanarak veri çağırma işlemleri de işlevsel olarak kullanılabilir. ```db.collection.aggregate([{$match: {field1: value1}}, {$group: {_id: "$field2", count: {$sum: 1}}}])```
MongoDB sıralama ve filtreleme işlemleri oldukça kapsamlıdır. Çeşitli örnekler ile bu konuyu detaylı bir şekilde inceledik. MongoDB ile çalışırken, bu işlemlerde kullanılan yöntemleri ve syntax'ları iyi bir şekilde anlamak son derece önemlidir.
sortMongoDB veritabanında sıralama işlemi oldukça yaygın olarak kullanılan bir işlemdir. Sıralama işlemi verilerimizi belli bir düzende çağırmamızı sağlar. MongoDB'de sıralama yapmak için kullanabileceğimiz bazı parametreler mevcuttur. Bu özellikler sayesinde verilerimizi artan veya azalan bir şekilde çağırabilir ve birden fazla kriter kullanarak sıralama işlemi gerçekleştirebiliriz.
Örneğin, birden fazla alana göre sıralama işlemi yapmak için sort() metodu kullanılabilir. Bu metot, verilerimizi belirli bir sırayla çağırmamıza olanak tanır. Sıralama işlemini gerçekleştirirken kullanabileceğimiz kriterler arasında ascending ve descending sıralama, tarih tipindeki verilerin sıralanması ve limit kullanımı da yer almaktadır.
Özellikle ascending ve descending sıralama işlemi oldukça sık kullanılan bir özelliktir. Bu özellik sayesinde verilerimizi artan veya azalan bir şekilde çağırabiliriz. Örneğin, aşağıdaki kod bloğuyla verilerimizi artan bir şekilde sıralayabiliriz.
```db.myCollection.find().sort({age: 1})```
Benzer şekilde, verilerimizi azalan bir şekilde sıralamak istediğimizde sort() metodu içerisine descending parametresini kullanırız.
Tarih tipindeki verilerimizi sıralamak için ise aşağıdaki kod bloğunu kullanabiliriz.
```db.myCollection.find().sort({date: -1})```
Bu özellik sayesinde tarih tipindeki verilerimizi yeni olan verilerden eski olanlara doğru sıralayabiliriz. Ayrıca, limit kullanarak da sıralama işlemi gerçekleştirebiliriz. Örneğin, aşağıdaki kod bloğu ile ilk 10 verimizi çağırabiliriz.
```db.myCollection.find().sort({date: -1}).limit(10)```
Tüm bu özellikler sayesinde MongoDB veritabanında sıralama işlemlerimizi kolaylıkla gerçekleştirebiliriz.
operatörleri kullanılarak filtreleme ve gruplama işlemleri.Aggregation Framework, MongoDB'de filtreleme ve gruplama işlemleri için kullanılan bir araçtır. Bu araç sayesinde, veriler üzerinde daha kapsamlı işlemler yapabilmeniz mümkündür.
Aggregation Framework, çeşitli operatörleri kullanarak verileri filtrelemek ve gruplamak için kullanılır. Bu operatörler şunlardır:
- match: Verileri filtrelemek için kullanılan operatördür. Bu operatörle belirli koşullara göre verileri seçebilirsiniz.
- group: Verileri gruplamak için kullanılır. Bu operatör ile belirli bir alana göre gruplama işlemi yapabilirsiniz.
- project: Verileri belirli alanlara göre ayırarak sadece istediğiniz alanları görebilirsiniz.
- sort: Verileri belirli bir alana göre sıralama işlemi yapmak için kullanılır.
Aggregation Framework'ün kullanımı oldukça kolaydır. Sadece belirli operatörleri sorgularınıza eklemeniz yeterlidir. Ayrıca, tek bir pipeline üzerinden birden fazla operatörü kullanarak verilerinizi filtreleyebilirsiniz.
Single-Pipeline Aggregation, tek bir yoldan birden fazla operatör kullanarak verilerinizi filtreleyebileceğiniz bir yöntemdir. Bu yöntem sayesinde sorgularınız daha kısa ve okunaklı hale gelebilir.
Örneğin, bir e-ticaret sitesindeki ürünlerin fiyatlarına göre gruplama işlemi yapmak istiyoruz. Bu işlemi aşağıdaki pipeline sorgusu ile yapabiliriz:
$group | {_id: "$price", count: {$sum: 1}} | |
$sort | {_id: 1} |
Bu sorgu ile, ürünlerin fiyatlarına göre gruplama yaparız ve fiyatın artan sırayla görüntülenmesini sağlarız.
Multiple-Pipeline Aggregation, birden fazla pipeline kullanarak verilerinizi filtreleyebileceğiniz bir yöntemdir. Bu yöntem sayesinde daha kapsamlı filtreleme ve gruplama işlemleri yapabilirsiniz.
Örneğin, bir e-ticaret sitesindeki müşterilerin yaşlarına ve cinsiyetlerine göre gruplama yapmak istiyoruz. Bu işlemi aşağıdaki pipeline sorguları ile yapabiliriz:
Pipeline 1: | { $match: { gender: "male" } } |
Pipeline 2: | { $group: { _id: "$age", count: { $sum: 1 } } } |
Bu sorgu ile, erkek müşterilerin yaşlarına göre gruplama yaparız ve yaşın artan sırayla görüntülenmesini sağlarız.
Single-Pipeline Aggregation Kullanımı
MongoDB'deki aggregation framework kullanılarak tek bir yoldan birden fazla operatör kullanarak veri çağırma işlemleri yapılabilir. Bu işlem, bazı durumlarda daha hızlı sonuçlar verir ve sorguları daha basit hale getirir.
Örneğin, $match
için kullanılan sorguyu $group
için de kullanabilirsiniz. Ayrıca, $sort
işleminden sonra $project
işlemi yapabilirsiniz. Bu, çoklu sorgular yazarken sorguların daha anlaşılır olmasını sağlar.
Aşağıdaki tablo, aggregation pipeline kullanarak gruplama işlemini göstermektedir:
Özellik | Operatör | Açıklama |
---|---|---|
Match İşlemi | $match | Belirli bir koşulda verileri filtreleme |
Group İşlemi | $group | Belirtilen özelliklere göre verileri gruplama |
Project İşlemi | $project | Belirtilen sütunları geri döndürme |
Sort İşlemi | $sort | Belirtilen sütuna göre sıralama |
Single-pipeline aggregation kullanarak, birden fazla operatörü tek bir yolda kullanarak verileri filtreleyebilir, gruplayabilir ve sıralayabilirsiniz.
Multiple-Pipeline Aggregation Kullanımı
Aggregation Framework, MongoDB'de veritabanındaki belirli koşullara göre verilerle çalışmak için kullanılan bir yoldur. Bu framework'te kullanılan birden fazla pipeline, veritabanından birden fazla koşulda veri filtreleme işlemlerinde oldukça kullanışlıdır.
Bir örnekle açıklayacak olursak, bir e-ticaret sitesindeki ürünlerin, bir kategoriye göre ve fiyat aralığına göre filtrelenmesi gereken bir arama sayfası düşünelim. Bu sayfada kullanıcının seçtiği kategori ve fiyat aralığına göre veriler MongoDB veritabanından çağrılabilir. Burada iki farklı pipeline kullanarak veri filtreleme işlemi yapılabilir.
Pipeline 1 | Pipeline 2 |
---|---|
|
|
Bu örnekte, Pipeline 1 kategorisi "elektronik" olan ürünleri fiyatlarına göre artan sıralama yaparak çağırır. Pipeline 2 ise fiyatı 500'den büyük ve 1000'den küçük olan, yani belirlenen fiyat aralığında bulunan ürünleri fiyatlarına göre azalan sıralama ile çağırır.
Birden fazla pipeline kullanarak filtreleme işlemi yapmak, MongoDB'deki verileri daha etkili ve hızlı bir şekilde çağırmak için oldukça önemlidir.