MongoDB-তে SHOW DBS কমান্ড ডেটাবেস দেখাচ্ছে না - কারণ ও সমাধান
SHOW DBS কমান্ড ডেটাবেস দেখাবে না যদি আপনি সেই ডেটাবেসে কোনো কালেকশন তৈরি করে ডকুমেন্ট ইনসার্ট না করেন। ডেটাবেসে কমপক্ষে একটি কালেকশন এবং একটি ডকুমেন্ট থাকা না থাকলে সেটি লিস্টে দেখা যায় না।
ধাপ ১: নতুন ডেটাবেস তৈরি করুন
> use web; switched to db web
ধাপ ২: ডেটাবেস লিস্ট দেখুন (web দেখা যাবে না)
> show dbs;
আউটপুট:
admin 0.001GB config 0.000GB local 0.000GB my 0.001GB sample 0.001GB sampleDemo 0.000GB studentSearch 0.000GB test 0.010GB university 0.000GB
লক্ষ্য করুন: উপরের লিস্টে web ডেটাবেসটি নেই, কারণ এতে এখনো কোনো কালেকশন/ডকুমেন্ট নেই।
ধাপ ৩: web ডেটাবেসে কালেকশন তৈরি করে ডকুমেন্ট ইনসার্ট করুন
> db.check.insertOne({"ClientName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb806c2623186894665ae35") }
ধাপ ৪: ডকুমেন্ট যাচাই করুন
> db.check.find();
{
"_id" : ObjectId("5cb806c2623186894665ae35"),
"ClientName" : "John"
}
ধাপ ৫: আবার ডেটাবেস লিস্ট দেখুন
> show dbs;
আউটপুট:
admin 0.001GB config 0.000GB local 0.000GB my 0.001GB sample 0.001GB sampleDemo 0.000GB studentSearch 0.000GB test 0.010GB university 0.000GB web 0.000GB
ফলাফল: এখন web ডেটাবেসটি লিস্টে দেখাচ্ছে।
মূল কারণ: MongoDB-তে ডেটাবেস তৈরি হওয়ার পরও সেটি ফিজিক্যালি ডিস্কে আলোকিত হয় না যতক্ষণ না সেটিতে কমপক্ষে একটি ডকুমেন্ট ইনসার্ট করা হয়। এটি MongoDB-র লেজি ক্রিয়েশন (lazy creation) আচরণ।