इस लेख में मैं 5 तरीके प्रस्तुत करता हूं जिनका उपयोग आप मोंगो शेल का उपयोग करते समय मोंगोडीबी संग्रह के आकार की जांच के लिए कर सकते हैं।
द dataSize()
विधि
मोंगोडीबी संग्रह के आकार की जांच करने का शायद सबसे तेज़ और आसान तरीका db.collection.dataSize()
का उपयोग करना है तरीका। यह विधि संग्रह का आकार बाइट्स में लौटाती है।
इस विधि को कॉल करने के लिए, बस collection
. को बदलें उस संग्रह के नाम के साथ जिसे आप देखना चाहते हैं।
उदाहरण:
db.posts.dataSize()
परिणाम:
3012
यह उदाहरण posts
. नामक संग्रह के आकार की जांच करता है . यह मुट्ठी भर छोटे दस्तावेज़ों के साथ केवल एक छोटा संग्रह है, और इसलिए आकार केवल 3012 बाइट्स है।
totalSize()
विधि
db.collection.totalSize()
विधि संग्रह में डेटा के बाइट्स में कुल आकार और संग्रह पर प्रत्येक अनुक्रमणिका के आकार को लौटाती है।
इसलिए, यदि आप कुल आकार जानना चाहते हैं जिसमें सभी अनुक्रमणिका शामिल हैं, तो इस पद्धति का उपयोग करें।
उदाहरण:
db.posts.totalSize()
परिणाम:
114688
यह वही संग्रह है जिसके खिलाफ हमने पिछले उदाहरण को चलाया था। posts
संग्रह में तीन अनुक्रमणिकाएँ हैं (_id
. पर एक अनुक्रमणिका सहित) फ़ील्ड), और हम देख सकते हैं कि कुल आकार इंडेक्स के बिना संग्रह आकार से काफी अधिक है।
stats()
विधि
यदि आपको केवल संग्रह आकार से अधिक की आवश्यकता है, तो आप db.collection.stats()
आज़मा सकते हैं विधि।
यह विधि संग्रह (इसके आकार सहित) के बारे में आंकड़े लौटाती है।
उदाहरण:
db.posts.stats()
परिणाम (आंशिक):
{
"ns" : "krankykranes.posts",
"size" : 3012,
"count" : 27,
"avgObjSize" : 111,
"storageSize" : 36864,
"freeStorageSize" : 16384,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
...
यह विधि बहुत सारा डेटा लौटाती है, इसलिए मैं यहाँ केवल पहला छोटा भाग लौटा रहा हूँ। संग्रह आकार size
. में, परिणामों के शीर्ष के निकट सूचीबद्ध है फ़ील्ड.
डिफ़ॉल्ट रूप से, यह विधि बाइट्स में आकार डेटा लौटाती है। आप इसे बदल सकते हैं ताकि यदि आप चाहें तो किलोबाइट में रिपोर्ट कर सकें। ऐसा करने के लिए, scale
. का उपयोग करें 1024
. के मान के साथ पैरामीटर ।
उदाहरण:
db.posts.stats( { scale: 1024 } )
परिणाम (आंशिक):
{
"ns" : "krankykranes.posts",
"size" : 2,
"count" : 27,
"avgObjSize" : 111,
"storageSize" : 36,
"freeStorageSize" : 16,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
...
db.collection.stats()
विधि collStats
. के चारों ओर एक आवरण प्रदान करती है आदेश (नीचे)।
द collStats
कमांड
जैसा कि बताया गया है, db.collection.stats()
विधि collStats
. के लिए एक आवरण है डायग्नोस्टिक कमांड। यह आदेश संग्रह (इसके आकार सहित) के बारे में आंकड़े देता है।
उदाहरण:
db.runCommand( { collStats : "posts", scale: 1 } )
परिणाम (आंशिक):
{
"ns" : "krankykranes.posts",
"size" : 3012,
"count" : 27,
"avgObjSize" : 111,
"storageSize" : 36864,
"freeStorageSize" : 16384,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
...
जैसा कि stats()
. के साथ है विधि, यह कमांड बहुत सारा डेटा लौटाता है, इसलिए मैंने अभी कुछ सामान ऊपर से पकड़ा है।
ध्यान दें कि मैंने एक scale
प्रदान किया है का 1
इस उदाहरण में बाइट्स में आकार डेटा वापस करने के लिए। हम इसे 1024
. में बदल सकते हैं इसे किलोबाइट में वापस करने के लिए।
उदाहरण:
db.runCommand( { collStats : "posts", scale: 1024 } )
परिणाम (आंशिक):
{
"ns" : "krankykranes.posts",
"size" : 2,
"count" : 27,
"avgObjSize" : 111,
"storageSize" : 36,
"freeStorageSize" : 16,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
...
द $bsonSize
संचालिका
$bsonSize
बीएसओएन दस्तावेज़ के आकार को वापस करने के उद्देश्य से मोंगोडीबी 4.4 में एकत्रीकरण पाइपलाइन ऑपरेटर पेश किया गया था।
आप $bsonSize
. का उपयोग कर सकते हैं संग्रह में सभी दस्तावेज़ों के कुल आकार को $group
. के साथ जोड़कर वापस करने के लिए और $sum
ऑपरेटरों।
उदाहरण:
db.posts.aggregate([
{
$group: {
"_id": null,
"rootSize": { $sum: { $bsonSize: "$$ROOT" } }
}
}
])
परिणाम:
{ "_id" : null, "rootSize" : 3012 }