Bölüm Genel Bakış

Bu bölüm, MongoDB sorgularında tüm alan verilerini döndürmek yerine belirli alanların dönüşünün nasıl ayarlanacağını tanıtır.

Test Verileri

Envanter koleksiyonuna birkaç veri parçası ekleyin

db.inventory.insertMany( [
  { item: "dergi", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "defter", status: "A",  size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "kağıt", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "planlayıcı", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "kartpostal", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

Format

{<alan>: 1 veya 0}

Açıklama:

  • - alan adı
  • 1, alanın dönüşünü temsil eder; 0, alanın hariç tutulmasını temsil eder (yani, döndürülmemesini)

İpucu: 1 ve 0 yerine true/false kullanmak da kabul edilebilir.

Belirtilen Alanların Dönüşü

İkinci parametre aracılığıyla hangi alanların döndürüleceğini ayarlayın.

db.inventory.find( { status: "A" }, { item: 1, status: 1 } )

Açıklama:

  • Durumu A olan belgeler sorgulanır.
  • _id, öğe ve durum alanları döndürülür.

İpucu: _id alanı varsayılan olarak döndürülür.

Eşdeğer SQL:

SELECT item, status FROM envanter WHERE status = "A"

Belirtilen Alanların Hariç Tutulması

db.inventory.find( { status: "A" }, { status: 0, instock: 0 } )

Açıklama:

  • Durumu A olan belgeler sorgulanır.
  • Öğe ve durum alanları hariç olmak üzere tüm veriler döndürülür.

İç İçe Geçmiş Belgelerde Belirtilen Alanların Dönüşü

db.inventory.find(
   { status: "A" },
   { item: 1, status: 1, "size.uom": 1 }
)

Açıklama:

  • size.uom, boyut altındaki uom alanının dönüşünü temsil eder.