yoklateknik mülakat

Veritabanı Mongodb Indexes Queries Mülakat Soruları

75 doğrulanmış Veritabanı Mongodb Indexes Queries mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Mongodb Indexes QueriesZorluk 1
MongoDB'de yeni bir normal collection oluşturulduğunda, hiçbir createIndex() çağrısı yapılmadan otomatik olarak hangi index vardır?
  • aİlk eklenen document'taki her alanı kapsayan bir compound index
  • b_id alanı üzerinde bir unique index
  • cTüm string tipindeki alanlar üzerinde bir text index
  • dBiri açıkça oluşturulana kadar hiçbir index yoktur
Açıklama:MongoDB, normal bir collection oluşturulduğunda _id üzerinde unique bir index oluşturur; bu, her document'ın benzersiz bir kimliğe ve bu kimlikle hızlı erişime sahip olmasını garanti eder. Özel collection türleri farklı olabilir; örneğin time series collection'lar unique index desteklemez. Otomatik bir compound ya da text index yoktur (a, c), varsayılan olarak hiçbir şeyin olmadığı da doğru değildir (d).
Mongodb Indexes QueriesZorluk 1
db.products.createIndex({ price: 1 });

Bu tek alanlı index tanımında 1 değeri ne anlama gelir?
  • aIndex, key'leri artan (ascending) sırada saklar
  • bIndex yalnızca pozitif price değerlerini kabul eder
  • cAlan, update'lerden sonra bile yalnızca bir kez indekslenir
  • dIndex yalnızca ilk eklenen document'a uygulanır
Açıklama:Bir index tanımında 1 o key için artan (ascending) sırayı, -1 ise azalan (descending) sırayı belirtir. Bu, izin verilen değerlerle (b), yeniden indeksleme davranışıyla (c) ya da tek bir document'la sınırlı kapsamla (d) ilgili değildir — tek alanlı bir index her document'ın o alandaki değerini kapsar.
Mongodb Indexes QueriesZorluk 2
db.orders.createIndex({ customerId: 1, orderDate: -1 });

Bu ifade ne tür bir index oluşturur?
  • aBiri customerId, diğeri orderDate üzerinde olmak üzere iki ayrı tek-alan index
  • bHer iki alanı da aranabilir string olarak ele alan bir text index
  • ccustomerId artan, ardından orderDate azalan sırayla anahtarlanan bir compound index
  • dTanımda iki alan listelendiği için bir multikey index
Açıklama:Tek bir createIndex() çağrısında birden fazla alan listelemek, key'leri alan sırası ve yönüne göre sıralanan tek bir compound index kurar — burada önce artan customerId, sonra azalan orderDate — iki ayrı index değil (a). Bir text index değildir (b) ve multikey indeksleme, listelenen alan sayısıyla değil array-değerli alanlarla ilgilidir (d).
Mongodb Indexes QueriesZorluk 2
db.products.insertOne({ _id: 1, tags: ["sale", "new", "clearance"] });
db.products.createIndex({ tags: 1 });

tags bir array tuttuğuna göre, MongoDB burada ne tür bir index kurar?
  • acreateIndex() çağrısı başarısız olur; çünkü array alanlar doğrudan indekslenemez
  • bYalnızca array'in ilk elemanını key olarak saklayan tek-alan bir index
  • cString array'ler her zaman aranabilir metin olarak indekslendiği için bir text index
  • dOtomatik olarak oluşturulan, array'in her elemanı için ayrı bir index girdisi bulunan bir multikey index
Açıklama:MongoDB, tags'ın bir array tuttuğunu algılar ve otomatik olarak bir multikey index kurar; array'in her elemanı için ayrı bir index girdisi saklayarak bir document'ın etiketlerinden herhangi biriyle bulunabilmesini sağlar. Array alanları reddetmez (a), yalnızca ilk elemanı indekslemez (b) ve array indeksleme otomatik olarak text index olmaz — bunun için açık bir "text" tipi gerekir (c).
Mongodb Indexes QueriesZorluk 1
MongoDB'de bir text index'in (ör. db.articles.createIndex({ content: "text" })) ana amacı nedir?
  • a$text operatörüyle kullanılan, alanın kelime içeriği üzerinde full-text search yapılmasını sağlar
  • bO alana yazılan her değeri saklanmadan önce küçük harfe zorlar
  • cO collection'da _id index'ine olan ihtiyacın yerini alır
  • dTam string eşitlik aramalarını normal bir index ile aynı şekilde hızlandırır
Açıklama:Bir text index, alanın içeriğini kelimelere ayırır (stemming ve stop-word işlemesiyle); böylece $text sorguları tam string yerine terim arayabilir — full-text search tam olarak onun amacıdır. Saklanan değerleri küçük harfe çevirmez (b), _id'nin yerini almaz (c) ve düz tam-eşleşme aramaları için doğru araç text index değil, normal artan/azalan bir index'tir (d).
Mongodb Indexes QueriesZorluk 2
db.places.createIndex({ location: "2dsphere" });
db.places.find({
  location: { $near: { $geometry: { type: "Point", coordinates: [13.4, 52.5] } } }
});

2dsphere index neyi desteklemek için tasarlanmıştır?
  • aSayısal alanları iki ondalık basamak hassasiyetle sıralamak
  • bGeoJSON verisi üzerinde verimli geospatial sorguları, koordinatları küre (Dünya) üzerinde ele alarak desteklemek
  • cYedeklilik için document'ın iki ayrı kopyasını saklamak
  • dCollection'ı konuma göre otomatik olarak iki shard'a bölmek
Açıklama:Bir 2dsphere index, GeoJSON nokta/şekilleri küresel geometri kullanarak indeksler; bu da $near, $geoWithin, $geoIntersects gibi sorguların yakındaki ya da içinde kalan konumları verimli bulmasını sağlar. Ondalık hassasiyetle (a), document yedekliliğiyle (c) ya da otomatik sharding ile (d) ilgisi yoktur — sharding kendi ayrı yapılandırmasını gerektirir.

2475 soruluk Veritabanı bankasında kendini sına.

Mülakata başla