यह अध्याय MongoDB इंडेक्स का परिचय प्रस्तुत करता है। MYSQL की तरह, MongoDB भी इंडेक्स का समर्थन करता है। अंतर यह है कि MongoDB JSON संरचना के किसी भी नेस्टेड फ़ील्ड में इंडेक्स जोड़ने का समर्थन करता है, जिसका उद्देश्य सवाल की कुशलता को सुधारना है।
MongoDB इंडेक्स के प्रकार
Single Field Index
MYSQL की तरह, एकल फ़ील्ड के लिए एक इंडेक्स बनाना
प्रारूप:
db.collection.createIndex( { field_name: sorting_direction(1 या -1) } )
नोट: क्रमवार संचालन 1 आरोही क्रम को प्रतिनिधित करता है, और -1 अवरोही क्रम को प्रतिनिधित करता है।
उदाहरण 1:
db.records.createIndex( { score: 1 } )
स्कोर फ़ील्ड के लिए एक इंडेक्स बनाता है।
उदाहरण 2:
db.records.createIndex( { "location.state": 1 } )
नेस्टेड JSON फ़ील्ड location.state के लिए एक इंडेक्स बनाता है।
Compound Index
MYSQL की तरह, कई फ़ील्ड को जोड़कर एक इंडेक्स बनाया जा सकता है, संयुक्त सवालों की गति को तेज करता है।
प्रारूप:
db.collection.createIndex( { <field1>: <type>, <field2>: <type2>, ... } )
उदाहरण:
db.products.createIndex( { "item": 1, "stock": 1 } )
आइटम और स्टॉक फ़ील्ड के लिए एक संयुक्त इंडेक्स बनाता है, दोनों आरोही क्रम में (1 आरोही क्रम को प्रतिनिधित करता है)।
Text Index (पूर्ण-पाठ इंडेक्स)
पूर्ण-पाठ इंडेक्स (पाठ) का मुख्य रूप से पूर्ण-पाठ खोज का समर्थन करने के लिए उपयोग किया जाता है।
नोट: एक संग्रह केवल एक पाठ इंडेक्स की अनुमति देता है, लेकिन एक पाठ इंडेक्स में कई फ़ील्ड शामिल किए जा सकते हैं।
उदाहरण:
db.stores.createIndex( { name: "text", description: "text" } )
नाम और विवरण फ़ील्ड के लिए एक पूर्ण-पाठ इंडेक्स बनाता है।
नोट: विवरण के लिए विवरण के लिए कृपया संदर्भ करें पूर्ण-पाठ इंडेक्स सेक्शन।
स्थानिक इंडेक्स (GEO इंडेक्स)
मुख्य रूप से भौगोलिक सूचना संबंधित सवालों का समर्थन करने के लिए उपयोग किया जाता है, मुख्य रूप से 2dsphere और 2d इंडेक्स का समर्थन करता है। विवरण के लिए, कृपया संदर्भ करें ज्योस्पेशियल क्वेरी सेक्शन।
इंडेक्स हटाना
किसी संग्रह में सभी इंडेक्स को सूचीत करने के लिए:
db.pets.getIndexes()
pets संग्रह से catIdx इंडेक्स को नष्ट करने के लिए:
db.pets.dropIndex( "catIdx" )