MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでデータベース一覧を表示する方法【show dbsの仕様と注意点】

MongoDBでデータベース一覧を表示するには

MongoDBでデータベースの一覧を表示するには、show dbs コマンドを使用します。ただし、ここで重要な注意点があります。それは、データベースに最低1件のドキュメントが存在しないと、一覧に表示されないという点です。

例えば、use コマンドで新しいデータベースを作成したものの、そこに何もドキュメントを追加していない場合、そのデータベースは show dbs の実行結果には表示されません。これはMongoDBの仕様上の動作であり、多くの初心者がつまずくポイントでもあります。

データベースを作成しても表示されないケース

まず、以下のコマンドで「app」というデータベースを作成してみましょう。

> use app;
switched to db app

続いて、すべてのデータベースを表示するコマンドを実行します。

> show dbs;

この結果が以下の出力です。まだ「app」データベースにドキュメントを追加していないため、一覧には表示されていません

admin               0.002GB
business            0.000GB
config              0.000GB
local               0.000GB
main                0.000GB
my                  0.001GB
sample              0.003GB
sampleDemo          0.000GB
studentSearch       0.000GB
test                0.022GB
university          0.000GB
web                 0.001GB
webcustomertracker  0.000GB

ドキュメントを挿入してデータベースを表示させる

それでは、「app」データベース内にコレクションとドキュメントを作成してみましょう。以下のように insert() メソッドを使ってドキュメントを追加します。

> db.demo.insert({"StudentName":"Chris"});
WriteResult({ "nInserted" : 1 })

find() メソッドを使うことで、コレクション内のドキュメントを確認できます。

> db.demo.find();

実行すると、次のような出力が得られます。

{ "_id" : ObjectId("5e07250e25ddae1f53b62204"), "StudentName" : "Chris" }

再度データベース一覧を確認する

もう一度、すべてのデータベースを表示するコマンドを実行してみます。

> show dbs;

今度は出力結果に「app」データベースが含まれているのがわかります。ドキュメントを1件追加したことで、データベースとして認識され、一覧に表示されるようになったのです。

admin               0.002GB
app                 0.000GB
business            0.000GB
config              0.000GB
local               0.000GB
main                0.000GB
my                  0.001GB
sample              0.003GB
sampleDemo          0.000GB
studentSearch       0.000GB
test                0.022GB
university          0.000GB
web                 0.001GB
webcustomertracker  0.000GB

まとめ

MongoDBでは、use コマンドでデータベースを作成・切り替えただけでは実体は作られず、実際にドキュメントを挿入して初めてディスク上にデータが保存されます。そのため、show dbs の一覧に自分の作成したデータベースが表示されない場合は、「ドキュメントの挿入忘れ」がないかをまず確認しましょう。これはMongoDBの遅延生成(レイジー生成)という仕組みによるもので、仕様を理解していれば戸惑うことなく対処できます。

  1. MongoDBでundefinedと正確なドキュメントレコードを表示する方法

    MongoDBのシェルでコレクション内のドキュメントを扱う際、forEach()メソッドを使うと、各ドキュメントに対して柔軟に処理を行えます。この記事では、forEach()のコールバック関数における引数の挙動を確認し、printjson()を使ってundefinedと実際のドキュメントレコードをそれぞれ表示する方法を解説します。サンプルコレクションの作成まず、insertOne()メソッドを使って、ドキュメントを含むコレクションを作成します。> db.demo496.insertOne({Name:David,CountryName:US});{ acknowledged : t

  2. MongoDBデータベースを削除(クリア)する方法【dropDatabase()の使い方】

    MongoDBでデータベース全体をクリア(削除)したい場合は、dropDatabase() メソッドを使用します。この記事では、実際のコマンド例とともに、データベースを削除する手順をわかりやすく解説します。dropDatabase() の基本構文データベースを削除するには、まず対象のデータベースに切り替えてから db.dropDatabase() を実行します。基本構文は以下の通りです。use yourDatabaseName; db.dropDatabase();注意: dropDatabase() を実行すると、そのデータベース内のコレクションやドキュメントはすべて完全に削除されます。この