MongoDB-এ নির্দিষ্ট শর্ত পূরণ করা ডকুমেন্টগুলোর মোট সাইজ (বাইটে) বের করতে Object.bsonsize() ফাংশন ব্যবহার করে প্রতিটি ডকুমেন্টের সাইজ যোগ করতে হবে।
উদাহরণ
কয়েকটি ডকুমেন্ট তৈরি করুন:
> 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" olan ডকুমেন্টের সাইজ বের করা
> var collectionsize = 0;
> db.mongoDBCollectionSizeDemo.find({Name: 'Robert'}).forEach(function(d) {
var s = Object.bsonsize(d);
collectionsize = collectionsize + s;
})
> print(collectionsize);
আউটপুট:
52
ব্যাখ্যা:
Object.bsonsize(document)— ডকুমেন্টের BSON সাইজ বাইটে রিটার্ন করে।forEach— ক্যোয়ারি ফলাফলের প্রতিটি ডকুমেন্টের জন্য লুপ চালায়।- এই উদাহরণে শুধু একটি ডকুমেন্ট ম্যাচ করল, তার সাইজ ৫২ বাইট।
নোট: এটি শেল-সাইড ক্যালকুলেশন। সার্ভার-সাইডে collStats বা $bsonSize (MongoDB ৪.৪+) ব্যবহার করা ভালো।
আধুনিক বিকল্প (MongoDB ৪.৪+): $bsonSize এগ্রিগেশন
db.mongoDBCollectionSizeDemo.aggregate([
{ $match: { Name: "Robert" } },
{ $group: { _id: null, totalSize: { $sum: { $bsonSize: "$$ROOT" } } } }
]);