আমি মঙ্গোর একটি অদ্ভুত আচরণের মুখোমুখি হয়েছি এবং আমি এটি কিছুটা স্পষ্ট করে বলতে চাই ...
আমার অনুরোধটি সহজ এটি: আমি সংগ্রহের ক্ষেত্রে একক দস্তাবেজ পেতে চাই। আমি দুটি সম্ভাব্য সমাধান পেয়েছি:
- অবজেক্ট.অবসোনাইজ - কিছু জাভাস্ক্রিপ্ট পদ্ধতি যা বাইটগুলিতে একটি আকার ফিরিয়ে আনবে
- db.collection.stats () - যেখানে একটি রেখা 'avgObjSize' রয়েছে যা ডেটাতে কিছু "একত্রিত" (গড়) আকারের ভিউ তৈরি করে। এটি কেবলমাত্র একক নথির গড় আকারকে উপস্থাপন করে।
আমি যখন কেবল একটি ডকুমেন্ট দিয়ে পরীক্ষা সংগ্রহ তৈরি করি, তখন উভয় ফাংশনই বিভিন্ন মান দেয়। কিভাবে এটা সম্ভব?
মঙ্গো ডকুমেন্টের আকার পাওয়ার জন্য এটি অন্য কোনও পদ্ধতিতে বিদ্যমান?
এখানে, আমি পরীক্ষার সম্পাদন করি এমন কিছু কোড সরবরাহ করি:
আমি একটি নতুন ডাটাবেস তৈরি করেছি 'পরীক্ষা' এবং কেবল একটি বৈশিষ্ট্যযুক্ত ইনপুট সহজ ডকুমেন্ট: প্রকার: "স্বয়ং"
db.test.insert({type:"auto"})
পরিসংখ্যান () ফাংশন কল থেকে আউটপুট: db.test.stats () :
{ "ns" : "test.test", "count" : 1, "size" : 40, "avgObjSize" : 40, "storageSize" : 4096, "numExtents" : 1, "nindexes" : 1, "lastExtentSize" : 4096, "paddingFactor" : 1, "systemFlags" : 1, "userFlags" : 0, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1
}
বিসুনসাইজ ফাংশন কল থেকে আউটপুট: অবজেক্ট.সোবোনাইজ (db.test.find ({পরীক্ষা: "অটো"}))
481