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

MongoDB में शर्त के साथ कलेक्शन का आकार कैसे प्राप्त करें?

MongoDB में शर्त के आधार पर फिल्टर किए गए दस्तावेज़ों का कुल बाइट आकार प्राप्त करने के लिए Object.bsonsize() के साथ forEach() लूप का उपयोग करें।

उदाहरण

दस्तावेज़ बनाएं:

> db.mongoDBCollectionSizeDemo.insertOne({"Name": "John", "Age": 23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e3db64a577be5a2bc16") }
> db.mongoDBCollectionSizeDemo.insertOne({"Name": "Chris", "Age": 24});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e45b64a577be5a2bc17") }
> db.mongoDBCollectionSizeDemo.insertOne({"Name": "Robert", "Age": 26});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23e4db64a577be5a2bc18") }

दस्तावेज़ देखें:

> db.mongoDBCollectionSizeDemo.find();
{ "_id" : ObjectId("5cf23e3db64a577be5a2bc16"), "Name" : "John", "Age" : 23 }
{ "_id" : ObjectId("5cf23e45b64a577be5a2bc17"), "Name" : "Chris", "Age" : 24 }
{ "_id" : ObjectId("5cf23e4db64a577be5a2bc18"), "Name" : "Robert", "Age" : 26 }

Name="Robert" वाले दस्तावेज़ का आकार प्राप्त करें

> var collectionsize = 0;
> db.mongoDBCollectionSizeDemo.find({Name: 'Robert'}).forEach(function(d) {
    var s = Object.bsonsize(d);
    collectionsize = collectionsize + s;
  })
> print(collectionsize);

आउटपुट:

52

व्याख्या:

  • find({Name: 'Robert'}) - शर्त के साथ दस्तावेज़ फिल्टर
  • forEach() - प्रत्येक दस्तावेज़ पर लूप
  • Object.bsonsize(d) - दस्तावेज़ का BSON आकार बाइट्स में लौटाता है
  • सभी आकार जोड़कर कुल प्राप्त करें

बेहतर तरीके

कुल कलेक्शन आकार (सभी दस्तावेज़ + इंडेक्स)

db.mongoDBCollectionSizeDemo.stats().size  // केवल डेटा आकार
db.mongoDBCollectionSizeDemo.stats().storageSize  // स्टोरेज आकार (संपीड़न सहित)
db.mongoDBCollectionSizeDemo.totalSize()  // डेटा + इंडेक्स

एग्रीगेशन (MongoDB 4.4+)

db.collection.aggregate([
  {$match: {Name: "Robert"}},
  {$group: {_id: null, totalSize: {$sum: {$bsonSize: "$$ROOT"}}}}
])

नोट: Object.bsonsize() शेल फ़ंक्शन है, ड्राइवर में समान कार्यक्षमता के लिए BSON सीरियलाइज़ेशन आकार की गणना करें।

  1. - Java प्रोग्राम: कलेक्शन का आकार प्राप्त करना

    इस लेख में हम समझेंगे कि Java में कलेक्शन (संग्रह) का आकार कैसे प्राप्त किया जाता है। कलेक्शन एक फ्रेमवर्क है जो ऑब्जेक्ट्स के समूह को स्टोर और मैनिपुलेट करने की आर्किटेक्चर प्रदान करता है। उदाहरण इनपुट: Input list: [100, 180, 250, 300] आउटपुट: The size of the list = 4 एल्गोरिदम शुरुआत एक लिस्ट

  1. MongoDB संग्रह से सभी फील्ड नाम कुशलतापूर्वक पुनर्प्राप्त करें MongoDB संग्रह से सभी फील्ड नाम कुशलतापूर्वक पुनर्प्राप्त करें

    परिचय मूल रूप से 18 जनवरी, 2019 को ObjectRocket.com/blog पर प्रकाशित। अपने स्कीमा को मान्य करने के लिए, फील्ड में टाइपो डीबग करने के लिए, या उन फील्ड को ढूंढने के लिए जिन्हें आप सेट नहीं करना चाहिए, आपको अपने MongoDB® संग्रह में सभी कुंजियों की समझ की आवश्यकता है। ObjectRocket सहित कई MongoDB-as-a-

  1. अपने MongoDB कलेक्शन में सभी की नाम आसानी से प्राप्त करें अपने MongoDB कलेक्शन में सभी की नाम आसानी से प्राप्त करें

    अपने स्कीमा को मान्य करने, फील्ड्स में टाइपो डीबग करने, या उन फील्ड्स को ढूंढने के लिए जो सेट नहीं होने चाहिए, आपको अपने MongoDB कलेक्शन में सभी कीज़ की समझ प्राप्त करने की आवश्यकता होगी। MongoDB-as-a-service कंपनियों में से कई, ObjectRocket सहित, UI में सीधे ऐसा करने का एक आसान तरीका प्रदान करती ह