مضمون کا جائزہ
اس باب میں تفصیل سے بتایا گیا ہے کہ کس طرح MongoDB کوئیریز میں مخصوص فیلڈز کی واپسی کو سیٹ کیا جائے بجائے کہ تمام فیلڈ ڈیٹا واپس کیا جائے۔
ٹیسٹ ڈیٹا
انوینٹری کی مواد کو ڈیٹا کی چند شے شامل کریں
db.inventory.insertMany( [
{ item: "journal", status: "A", size: { h: 14, w: 21, uom: "سینٹی میٹر" }, instock: [ { warehouse: "A", qty: 5 } ] },
{ item: "notebook", status: "A", size: { h: 8.5, w: 11, uom: "انچ" }, instock: [ { warehouse: "C", qty: 5 } ] },
{ item: "paper", status: "D", size: { h: 8.5, w: 11, uom: "انچ" }, instock: [ { warehouse: "A", qty: 60 } ] },
{ item: "planner", status: "D", size: { h: 22.85, w: 30, uom: "سینٹی میٹر" }, instock: [ { warehouse: "A", qty: 40 } ] },
{ item: "postcard", status: "A", size: { h: 10, w: 15.25, uom: "سینٹی میٹر" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);
فارمیٹ
{<field>: 1 یا 0}
تشریح:
-
- فیلڈ کا نام - 1 فیلڈ واپس کرنا ہے، 0 فیلڈ کو خارج کرنا ہے (یعنی، واپس نہیں کرنا)
مشورہ: 1 اور 0 کی بجائے ہاں/نہیں کا استعمال بھی قابل قبول ہے۔
مخصوص فیلڈز واپس لانا
دوسرے پیرامیٹر کے ذریعے find فنکشن کون کس فیلڈز واپس لانے ہیں وہ سیٹ کریں۔
db.inventory.find( { status: "A" }, { item: 1, status: 1 } )
تشریح:
- جہاں status A کو مطمئن کرتا ہے وہ دستاویزات تلاش کی جاتی ہیں۔
- _id، item، اور status فیلڈز واپس کرتا ہے۔
مشورہ: _id فیلڈ پہلے سے ہی واپس کیا جاتا ہے۔
مترادف SQL:
SELECT item, status from inventory WHERE status = "A"
مخصوص فیلڈز کو خارج کرنا
db.inventory.find( { status: "A" }, { status: 0, instock: 0 } )
تشریح:
- جہاں status A کو مطمئن کرتا ہے وہ دستاویزات تلاش کی جاتی ہیں
- فیلڈ item اور status کے علاوہ تمام ڈیٹا واپس کرتا ہے۔
گہرے دستاویزات میں مخصوص فیلڈز واپس لانا
db.inventory.find(
{ status: "A" },
{ item: 1, status: 1, "size.uom": 1 }
)
تشریح:
- size.uom وہاں ہے جو size کے تحت uom فیلڈ واپس کرتا ہے۔