কম্পিউটার টিউটোরিয়াল

MongoDB-এ নির্দিষ্ট নামের ডকুমেন্টের কালেকশন সাইজ বের করা

MongoDB-এ নির্দিষ্ট শর্ত পূরণ করা ডকুমেন্টগুলোর মোট BSON সাইজ (বাইটে) বের করতে Object.bsonsize() ফাংশন এবং কার্সর ইটারেশন ব্যবহার করা হয়।

নমুনা কালেকশন তৈরি

> db.demo250.insertOne({ "Name": "Chris" });
{ "acknowledged": true, "insertedId": ObjectId("5e46bd501627c0c63e7dba70") }

> db.demo250.insertOne({ "Name": "Bob" });
{ "acknowledged": true, "insertedId": ObjectId("5e46bd531627c0c63e7dba71") }

> db.demo250.insertOne({ "Name": "David" });
{ "acknowledged": true, "insertedId": ObjectId("5e46bd561627c0c63e7dba72") }

> db.demo250.insertOne({ "Name": "Chris" });
{ "acknowledged": true, "insertedId": ObjectId("5e46bd5b1627c0c63e7dba73") }

ডকুমেন্টগুলো দেখানো

> db.demo250.find();

আউটপুট:

{ "_id": ObjectId("5e46bd501627c0c63e7dba70"), "Name": "Chris" }
{ "_id": ObjectId("5e46bd531627c0c63e7dba71"), "Name": "Bob" }
{ "_id": ObjectId("5e46bd561627c0c63e7dba72"), "Name": "David" }
{ "_id": ObjectId("5e46bd5b1627c0c63e7dba73"), "Name": "Chris" }

"Chris" নামের ডকুমেন্টগুলোর মোট BSON সাইজ বের করা

> var t = 0;
> db.demo250.find({ Name: "Chris" }).forEach(function(doc) {
  var s = Object.bsonsize(doc);
  t += s;
})
> print(t);

ফলাফল

76

আউটপুট: ৭৬ বাইট (দুইটি "Chris" ডকুমেন্টের মোট BSON সাইজ)।

ব্যাখ্যা:

  • Object.bsonsize(doc) - ডকুমেন্টের BSON এনকোডেড সাইজ বাইটে রিটার্ন করে।
  • forEach - কার্সরের প্রতিটি ডকুমেন্টের জন্য ফাংশন এক্সিকিউট করে।
  • t += s - টোটাল সাইজ একামুলেট করে।

কলেকশনের মোট সাইজ (সব ডকুমেন্ট)

var total = 0;
db.demo250.find().forEach(function(doc) {
  total += Object.bsonsize(doc);
});
print(total);

কলেকশন স্ট্যাটস (বিল্ট-ইন)

db.demo250.stats();

গুরুত্বপূর্ণ ফিল্ডها:

  • size - ডেটা সাইজ (বাইটে, কমপ্রেসড)۔
  • storageSize - ডিস্কে আলোকিত স্পেস।
  • totalIndexSize - ইন্ডেক্সের সাইজ।
  • count - ডকুমেন্ট সংখ্যা।

সতর্কতা

Object.bsonsize() শেল-সাইড ফাংশন, সার্ভার-সাইড নয়। বড় ডেটাসেটে এটি ধীর হবে। প্রোডাকশনে collStats কমান্ড বা অ্যাগ্রিগেশন ($bsonSize MongoDB ৪.৪+) ব্যবহার করুন।

MongoDB ৪.৪+: $bsonSize অগেটিগেশন

db.demo250.aggregate([
  { $match: { Name: "Chris" } },
  { $group: { _id: null, totalSize: { $sum: { $bsonSize: "$$ROOT" } } } }
]);
  1. MongoDB-এ কালেকশন থেকে টপমোস্ট (প্রথম) ডকুমেন্ট বের করা

  2. MongoDB find()-এ নির্দিষ্ট ফিল্ড বাদ দেওয়া (Projection: 0)

  3. MongoDB-এ _id দিয়ে ডকুমেন্ট আপডেট করা

  4. MongoDB ডকুমেন্টের সর্বোচ্চ সাইজ কত?