Gambaran Umum Bab

Bab ini memperkenalkan cara mengatur pengembalian bidang yang ditentukan dalam kueri MongoDB daripada mengembalikan semua data bidang.

Data Uji

Masukkan beberapa data ke dalam koleksi persediaan

db.inventory.insertMany( [
  { item: "jurnal", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "buku catatan", status: "A",  size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "kertas", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "rencana", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "kartu pos", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

Format

{<bidang>: 1 atau 0}

Penjelasan:

  • - nama bidang
  • 1 mewakili mengembalikan bidang, 0 mewakili mengecualikan bidang (yaitu, tidak mengembalikan)

Tip: Menggunakan true/false daripada 1 dan 0 juga diterima.

Kembalikan Bidang yang Ditentukan

Atur bidang apa yang akan dikembalikan melalui parameter kedua dari fungsi temukan.

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

Penjelasan:

  • Dokumen di mana status memenuhi A dipertanyakan.
  • Mengembalikan bidang _id, item, dan status.

Tip: Bidang _id dikembalikan secara default.

Setara SQL:

SELECT item, status from inventory WHERE status = "A"

Kecualikan Bidang yang Ditentukan

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

Penjelasan:

  • Dokumen di mana status memenuhi A dipertanyakan
  • Mengembalikan semua data kecuali bidang item dan status.

Kembalikan Bidang yang Ditentukan dalam Dokumen Bersarang

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

Penjelasan:

  • size.uom mewakili mengembalikan bidang uom di bawah size.