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.