अध्याय अवलोकन

इस अध्याय में प्रस्तुत किया गया है कि MongoDB क्वेरी में निर्दिष्ट फ़ील्ड की वापसी कैसे सेट करें बजाय सभी फ़ील्ड डेटा की वापसी करने के।

परीक्षण डेटा

इंवेंटरी कलेक्शन में कुछ डेटा डालें

db.inventory.insertMany( [
  { item: "journal", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
  { item: "notebook", status: "A",  size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
  { item: "paper", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
  { item: "planner", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
  { item: "postcard", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);

फॉर्मेट

{<field>: 1 या 0}

स्पष्टीकरण:

  • - फ़ील्ड नाम
  • 1 फ़ील्ड की वापसी को दर्शाता है, 0 फ़ील्ड को बाहर निकालता है (अर्थात, वापसी नहीं करता है)

सुझाव: 1 और 0 की बजाय true/false का उपयोग करना भी स्वीकार्य है।

निर्दिष्ट फ़ील्ड की वापसी

फ़ाइंड फ़ंक्शन के दूसरे पैरामीटर के माध्यम से कौन से फ़ील्ड को वापस करना है सेट करें।

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

स्पष्टीकरण:

  • स्थिति A को संतुष्ट करने वाले डॉक्यूमेंट क्वेरी किए जाते हैं।
  • _id, item और status फ़ील्ड को वापस करता है।

सुझाव: डिफ़ॉल्ट रूप से _id फ़ील्ड वापस किया जाता है।

समकक्ष SQL:

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

निर्दिष्ट फ़ील्ड को बाहर निकालें

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

स्पष्टीकरण:

  • स्थिति A को संतुष्ट करने वाले डॉक्यूमेंट क्वेरी किए जाते हैं।
  • item और status फ़ील्ड को छोड़कर सभी डेटा को वापस करता है।

नेस्टेड डॉक्यूमेंट में निर्दिष्ट फ़ील्ड की वापसी

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

स्पष्टीकरण:

  • size.uom size के तहत uom फ़ील्ड की वापसी को दर्शाता है।