MongoDB 5.0

ergün elvan bilsel
erelbi
Published in
3 min readJul 15, 2021

MongoDB 5.0 resmi olarak yayınlandı ve bu sürümdeki güncellemelerden bazıları şu şekilde:

Zaman serisi koleksiyonu

  • MongoDB 5.0, ölçüm sırasını belirli bir süre boyunca etkin bir şekilde saklayan bir zaman serisi koleksiyonu sunar. Sıradan koleksiyonlarla karşılaştırıldığında, zaman serisi verilerinin zaman serisi koleksiyonlarında depolanması, sorgu verimliliğini artırabilir ve veri ve dizinler için disk kullanımını azaltabilir.

Yeni toplama operatörü

MongoDB 5.0, aşağıdaki toplama işlemlerini tanıttı:

$count : $group ile birlikte kullanıldığında; anahtara göre aynı grubu paylaşan belgelerin sayısını döndürür.

Örnek bir koleksiyon
db.cakeSales.aggregate( [
{
$group: {
_id: "$state",
countNumberOfDocumentsForState: {
$count: {}
}
}
}
] )
  • _id: "$state"belgeleri statealan değerine göre gruplandırır . CAve grupları vardır WA.
  • $count: {}countNumberOfDocumentsForStatealanı, aynı statealan değerini paylaşan belge sayısını gösterir.

Bu çıktıda için state değeri CA ve WA olan döküman sayıları görülmektedir.

{ "_id" : "CA", "countNumberOfDocumentsForState" : 3 }
{ "_id" : "WA", "countNumberOfDocumentsForState" : 3 }

$setWindowFields aşamasında kullanıldığında tüm belgelerin sayısını sağlar.

Örnekte;

  • partitionBy: "$state" değerlerinde CA ve WA bulunmaktadır.
  • sortBy: { orderDate: 1 } artan sıralamada dökumanı her bölümde sıralama işlemi yapmaktadır.
  • $dateAdd : Belirtilen zaman birimine göre bir Date nesnesini artırır .
  • $dateDiff : İki tarih arasındaki farkı verir.
  • $sampleRate : Belirli bir hızda ardışık düzenden belgeleri olasılıksal olarak seçmek için $sampleRate yöntemini eklemektedir .
  • $rand : $rand yöntemi her çağrıldığında , 0 ile 1 arasında rastgele bir kayan noktalı sayı üretilecektir. Yeni $ sampleRate operasyonu dayanmaktadır $ rand .

Pencere operatörü

  • MongoDB 5.0 , pencere adı verilen bir koleksiyondaki belirli bir yayılma alanındaki belgeler üzerinde işlemler gerçekleştirmenize olanak tanıyan $setWindowFields ardışık düzen aşamasını sunar. Bu işlem, seçilen pencere operatörüne göre sonucu döndürür.

Genel toplama iyileştirmeleri

  • $expr operatörü: karşılaştırma operatörü indeks kullanır
  • MongoDB 5.0, itibaren $ eq , $ lt , $ LTE , $ gt, ve $ GTE operatörler yerleştirilen $expr operatör performansını artırmak için dizinler kullanabilir.
  • $ifNull ifadesi birden çok giriş ifadesini kabul eder

MongoDB 5.0'dan başlayarak, bir değiştirme ifadesi döndürmeden önce $ifNull ifadesi için birden çok giriş ifadesi belirtebilirsiniz.

Toplu izin seçenekleri

  • MongoDB 5.0'dan başlayarak, toplama komutu ve db.collection.aggregate() yardımcı yöntemi , toplama ardışık düzeninde başka bir yerde kullanılabilecek bir değişken listesi belirtmek için bir izin seçeneğine sahiptir. Bu, değişkenleri sorgu metninden ayırarak komutların okunabilirliğini artırmanıza olanak tanır.
  • $lookup aşaması: kısa korelasyon alt sorgusu

MongoDB 5.0'dan başlayarak , toplama hattının $lookup aşaması, koleksiyonlar arasındaki bağlantıyı geliştirmek için kısa korelasyon alt sorgularını destekler.

Olay çıktısını değiştir

  • MongoDB 5.0'dan başlayarak change olayı , dizinin kesilmesini kaydetmek için updateDescription.truncatedArrays alanını içerir .

Kaldırılan Operatörler

  • GeoHaystack dizini ve geoSearch komutu kaldırıldı
  • MongoDB 5.0, eski geoHaystack dizinini ve geoSearch komutunu kaldırdı . Kullanım dizinleri 2d ile $ geoNear veya yerine coğrafi sorgu operatörleri destekledi.

Yeni hata mesajı

  • Seçenekler yanlış belirtildiğinde db.collection.createIndex() ve db.collection.createIndexes() işlemleri yeni hata mesajlarına sahiptir.

Güvenlik

  • TLS 1.3 şifre paketinin destek yapılandırması
  • MongoDB 5.0, opensslCipherSuiteConfig parametresini sundu, böylece TLS 1.3 şifrelemesi kullanılırken OpenSSL tarafından desteklenen şifre takımı yapılandırılabilir.

Kaynak:

--

--