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

MongoDB में संग्रह को कैप्ड संग्रह में बदलना

MongoDB में runCommand() का उपयोग करके सामान्य संग्रह को कैप्ड संग्रह में बदलना

MongoDB में runCommand() के साथ convertToCapped कमांड का उपयोग करके मौजूदा संग्रह को कैप्ड संग्रह (फिक्स्ड साइज़, सर्कुलर बफर) में बदला जा सकता है।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo416.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e723a7bb912067e57771adf") }
> db.demo416.insertOne({"StudentName":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e723a81b912067e57771ae0") }
> db.demo416.insertOne({"StudentName":"Sam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e723a84b912067e57771ae1") }

सभी दस्तावेज़ देखना

> db.demo416.find();

आउटपुट:

{ "_id" : ObjectId("5e723a7bb912067e57771adf"), "StudentName" : "David" }
{ "_id" : ObjectId("5e723a81b912067e57771ae0"), "StudentName" : "Mike" }
{ "_id" : ObjectId("5e723a84b912067e57771ae1"), "StudentName" : "Sam" }

संग्रह को कैप्ड में बदलना (आकार: 100 बाइट्स)

> db.runCommand( { convertToCapped: 'demo416', size: 100 } );
{ "ok" : 1 }

संग्रह आँकड़े देखना

> db.demo416.stats();

आउटपुट (मुख्य भाग):

{
  "ns" : "test.demo416",
  "size" : 132,
  "count" : 3,
  "capped" : true,
  "maxSize" : 256,
  "ok" : 1
}

कैप्ड संग्रह की विशेषताएं:

  • फिक्स्ड साइज़: निर्दिष्ट आकार तक पहुंचने पर सबसे पुराने दस्तावेज़ स्वतः हट जाते हैं
  • इन्सर्शन क्रम: दस्तावेज़ इन्सर्शन क्रम में बने रहते हैं (प्राकृतिक क्रम)
  • उच्च प्रदर्शन: लॉगिंग, कैशिंग, मीट्रिक्स के लिए आदर्श
  • कोई डिलीट नहीं: अलग से दस्तावेज़ हटाया नहीं जा सकता
  • कोई अपडेट नहीं: दस्तावेज़ आकार बढ़ाने वाला अपडेट नहीं कर सकते
  • इंडेक्स: केवल _id इंडेक्स अनुमत (अन्य ड्रॉप हो जाते हैं)

निर्माण के समय सीधे कैप्ड संग्रह बनाना:

db.createCollection("logs", { capped: true, size: 100000, max: 1000 })

उपयोग के मामले: एप्लिकेशन लॉग्स, ऑडिट ट्रेल्स, सेशन डेटा, रियल-टाइम मीट्रिक्स।

चेतावनी: रूपांतरण अपरिवर्तनीय है। कैप्ड से सामान्य में वापस नहीं बदल सकते।

  1. - MongoDB Capped Collection का उपयोग करना

    हाँ, आप capped collection उपयोग कर सकते हैं। Capped collections fixed-size collections होते हैं जो high-throughput operations support करते हैं जो insertion order के आधार पर documents insert और retrieve करते हैं। Capped Collection बनाना > db.createCollection(demo539, { capped : true, size :100, m

  1. - MongoDB Query - Collection Rename करना

    MongoDB में collection rename करने के लिए renameCollection() का उपयोग करें। Collection बनाना > db.demo690.insertOne({_id:101,Name:Sam}); { acknowledged : true, insertedId : 101 } > db.demo690.insertOne({_id:102,Name:Mike}); { acknowledged : true, insertedId : 102 } > db.demo690.insertOne({

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

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