यह अध्याय मॉनगोडीबी के मूल ज्ञातांक का परिचय प्रस्तुत करता है जो मॉंगो शैली के माध्यम से प्राप्त होता है। मॉगो शैल में, db.collection.find()
विधि का उपयोग डेटा क्वेरी करने के लिए किया जाता है।
परीक्षण डेटा तैयार करें
इन्वेंट्री कलेक्शन में कुछ डेटा डालें।
db.inventory.insertMany([
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);
सभी दस्तावेज़ क्वेरी करें
इन्वेंट्री कलेक्शन में सभी दस्तावेज़ क्वेरी करें, {} एक खाली क्वेरी शर्त को दर्शाता है।
db.inventory.find( {} )
निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory
समानता क्वेरी शर्तें
वाक्यांश:
{ field: value, ... }
उदाहरण 1:
db.inventory.find( { status: "D" } )
निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory WHERE status = "D"
उदाहरण 2: नेस्टेड फ़ील्ड क्वेरी, नेस्टेड डॉक्यूमेंट्स के फ़ील्ड्स को जोड़ने के लिए डॉट (.) का उपयोग करें।
db.inventory.find( { "size.uom": "in" } )
निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory WHERE size.uom = "in"
ध्यान दें: मॉनगोडीबी दस्तावेज़ JSON प्रारूप में संग्रहीत किए जाते हैं, इसलिए वे नेस्टेड फील्ड्स को शर्त के रूप में उपयोग करने का समर्थन करते हैं।
क्वेरी ऑपरेटर्स का उपयोग
मॉनगोडीबी विभिन्न जटिल क्वेरी को लागू करने के लिए विभिन्न क्वेरी ऑपरेटर्स का समर्थन करती है। वाक्यांश:
{ <field1>: { <operator1>: <value1> }, ... }
स्पष्टीकरण:
- field1: फ़ील्ड नाम
- operator1: ऑपरेटर
- value1: ऑपरेटर पैरामीटर
$in ऑपरेटर का उदाहरण:
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
निम्नलिखित "in" ऑपरेटर से SQL क्वेरी के तरह है:
SELECT * FROM inventory WHERE status in ("A", "D")
ध्यान दें: ऑपरेटर के विवरण के लिए, कृपया आगामी मॉनगोडीबी क्वेरी विवरण अनुभाग का संदर्भ लें।
और शर्त
SQL के समान तरीके से, मॉनगोडीबी भी और शर्त का समर्थन करती है।
उदाहरण:
// बहुत से शर्तों को अनुक्रमणिक रूप से दर्ज करें, और शर्तों को "और" का उपयोग करके जोड़ें
db.inventory.find( { status: "A", item: "postcard"} )
निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory WHERE status = "A" AND item = "postcard"
या शर्त
SQL के समान तरीके से, मॉनगोडीबी भी या शर्त का समर्थन करती है, जो $or ऑपरेटर के माध्यम से किया जाता है।
वाक्यांश:
{
$or: [
{condition1},
{condition2},
.....
]
}
उदाहरण:
db.inventory.find( { $or: [ { status: "A" }, { item: "postcard"} ] } )
निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory WHERE status = "A" OR item = "postcard"
और और खात्मा
SQL के समान तरीके से, मॉनगोडीबी एंड और या शर्तों को जोड़ने के लिए संयोजित क्वेरी शर्तों का समर्थन कर सकती है।
उदाहरण:
db.inventory.find( {
status: "A",
$or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )
यहां, कम से कम के लिए $lt ऑपरेटर और रेगुलर एक्सप्रेशन मैचिंग का उपयोग किया गया है।
यह निम्नलिखित SQL स्टेटमेंट के समान है:
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 or item like 'p%')
सुझाव: मॉनगोडीबी क्वेरी शर्तों का विस्तृत स्पष्टीकरण के लिए, कृपया आगामी अध्यायों का संदर्भ लें।