Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में यूनिक इंडेक्स को स्पार्स यूनिक इंडेक्स में बदलें

MongoDB में स्पार्स यूनिक इंडेक्स बनाना

MongoDB में स्पार्स इंडेक्स बनाने के लिए sparse: true विकल्प का उपयोग किया जाता है। स्पार्स इंडेक्स केवल उन्हीं दस्तावेज़ों को इंडेक्स करता है जिनमें इंडेक्स किया गया फ़ील्ड मौजूद होता है, जिससे स्टोरेज बचता है और परफॉर्मेंस बेहतर होती है।

सामान्य यूनिक इंडेक्स बनाना

> db.demo229.ensureIndex({"ClientName":1}, {unique: true});
{
    "createdCollectionAutomatically" : true,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

मौजूदा इंडेक्स देखना

> db.demo229.getIndexes();

आउटपुट:

[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.demo229"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : {
            "ClientName" : 1
        },
        "name" : "ClientName_1",
        "ns" : "test.demo229"
    }
]

इंडेक्स को ड्रॉप करके स्पार्स यूनिक इंडेक्स में बदलना

> db.demo229.dropIndex("ClientName_1");
{ "nIndexesWas" : 2, "ok" : 1 }
> db.demo229.ensureIndex({"ClientName":1}, {unique: true, sparse:true});
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

अपडेटेड इंडेक्स वेरिफाई करना

> db.demo229.getIndexes();

आउटपुट में अब "sparse" : true शामिल है:

[
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "test.demo229"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : {
            "ClientName" : 1
        },
        "name" : "ClientName_1",
        "ns" : "test.demo229",
        "sparse" : true
    }
]

महत्वपूर्ण बिंदु

  • ensureIndex अब deprecated है, नए वर्जन में createIndex उपयोग करें
  • स्पार्स इंडेक्स उन फ़ील्ड्स के लिए उपयोगी है जो सभी दस्तावेज़ों में मौजूद नहीं होते
  • यूनिक + स्पार्स कॉम्बिनेशन डुप्लिकेट वैल्यूज़ को रोकता है लेकिन मिसिंग फ़ील्ड्स को अनुमति देता है
  1. - MongoDB में डेट फॉर्मेट कैसे बदलें?

    हमारे पास निम्न तारीख है: 01-10-2019 डेट फॉर्मेट बदलने के लिए, कस्टम वेरिएबल का उपयोग करें और डेट को स्ट्रिंग में कनवर्ट करके उसका फॉर्मेट बदलें: डेट को स्ट्रिंग में कनवर्ट करके फॉर्मेट बदलने की क्वेरी var outputString= formatDate[2]+-+formatDate[0]+-+formatDate[1]; वेरिएबल वैल्यू प्रदर्शित करना

  1. - MongoDB में संग्रह में अद्वितीय इंडेक्स वाला फ़ील्ड कैसे जोड़ें?

    अद्वितीय इंडेक्स के लिए, इंडेक्स बनाते समय unique: true सेट करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo658.createIndex({FirstName:1},{unique:true,sparse:true}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } > db.demo658.insertOne({Firs

  1. - MongoDB कलेक्शन में इंडेक्स बनाएं

    MongoDB में इंडेक्स बनाने के लिए createIndex() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo702.createIndex({details.id:1}); { createdCollectionAutomatically : true, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 } > db.demo702.insertOne({ details: [ {