MongoDBで新しいデータベースを作成して表示する方法
MongoDBにおけるデータベースの作成と表示の基本
MongoDBで新しいデータベースを作成するには、以下の構文のように「use」コマンドを使用します。
use yourDatabaseName;
また、システム内のすべてのデータベースを一覧表示するには「show」コマンドを使用します。構文は以下の通りです。
show dbs;
実際にデータベースを作成してみよう
それでは、上記の構文を実行してデータベースを作成してみましょう。
> use onlinecustomertracker;
switched to db onlinecustomertracker
ここで注意すべき点は、MongoDBではデータベースが遅延生成される仕組みになっていることです。つまり、「use」コマンドだけではデータベースはまだ物理的に作成されず、少なくとも1つのドキュメントを挿入しない限り、データベース一覧には表示されません。
コレクションを作成してデータベースを表示する
新しく作成したデータベースを表示するには、コレクションを作成する必要があります。以下がそのクエリ例です。
> db.example.insert({Value:10});
WriteResult({ "nInserted" : 1 })挿入が成功すると、「nInserted: 1」という結果が返されます。
find()メソッドでドキュメントを確認する
find()メソッドを使用すると、コレクション内のすべてのドキュメントを表示できます。
> db.example.find();
このコマンドを実行すると、以下のような出力が得られます。
{ "_id" : ObjectId("5e9dafade3c3cd0dcff36a4f"), "Value" : 10 }すべてのデータベースの一覧を表示する
すべてのデータベースを表示するには、SHOWコマンドを使用します。
> show dbs;
実行すると、以下のようにデータベースの一覧とそれぞれのサイズが出力されます。
MyDB 0.000GB
admin 0.000GB
config 0.000GB
local 0.000GB
onlinecustomertracker 0.000GB
test 0.006GB
このように、新しく作成した「onlinecustomertracker」データベースが一覧に表示されていることが確認できます。MongoDBの遅延生成の仕組みを理解しておくことで、「データベースを作成したのに表示されない」という混乱を避けることができます。
-
MongoDBでグループ化をオブジェクトに投影し、点数フィールドのみを表示する方法
MongoDBでは、配列形式のドキュメントデータをJavaScriptのオブジェクト形式へ変換(投影)できます。本記事では、科目名と点数を含むドキュメントをグループ化し、科目名をキー・点数のみを値とするオブジェクトを作成する手順を解説します。サンプルドキュメントの作成まず、科目名(SubjectName)と点数(Marks)を含むドキュメントを配列として作成します。> var document = [... { SubjectName : MySQL, Marks : 78 },... { SubjectName :
-
MongoDBで一意のレコードのみを表示し、重複データを除外する方法
MongoDBのdistinct()メソッドで重複を除外するMongoDBで一意(ユニーク)なレコードのみを表示したい場合は、distinct()メソッドを使用します。このメソッドは、指定したフィールドの重複しない値だけを配列として返してくれます。ここでは、実際にサンプルコレクションを作成しながら、その使い方を確認していきましょう。1. サンプルコレクションの作成まず、insertOne()メソッドを使って、意図的に重複した名前を含むドキュメントをいくつか挿入します。> db.demo613.insertOne({Name:Chris});{ acknowledged : tru