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

MongoDB-তে SHOW DBS কেন ডেটাবেস দেখাচ্ছে না


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) আচরণ।

  1. MongoDB-এ নির্দিষ্ট ফিল্ড না থাকা ডকুমেন্ট খুঁজে বের করা

  2. MongoDB-এ Not Null চেক করা ($ne: null)

  3. C++-এ কেন ভার্চুয়াল কনস্ট্রাক্টর নেই?

  4. PHP-এ && কেন false ট্রিগার করে না?