JavaでMongoDBにデータベースを作成する方法をわかりやすく解説
JavaからMongoDBのデータベースを作成する場合、データベース作成専用のメソッドは用意されていません。代わりに、com.mongodb.MongoClientクラスが提供するgetDatabase()メソッドを呼び出すことで、データベースを作成(取得)できます。
MongoDBにおけるデータベース作成の仕組み
MongoDBの特徴として、getDatabase()メソッドを呼び出した時点では、実際にはデータベースは物理的に作成されない点に注意が必要です。MongoDBはデータベースやコレクションを遅延生成(Lazy Creation)する仕組みを採っており、指定した名前のデータベースに対して最初のコレクションを作成し、ドキュメントを挿入した時点で初めてディスク上に実体化されます。
そのため、getDatabase()は「存在しなければ新しく扱う対象として登録し、存在すればそれを返す」という動作になります。この挙動により、開発者は事前の作成処理を意識することなく、シンプルなコードでデータベースを扱えます。
サンプルコード
以下は、MongoClientを使って複数のデータベースにアクセス(作成)するJavaプログラムの例です。
import com.mongodb.MongoClient;
public class CreatingDatabase {
public static void main(String args[]) {
// MongoDBクライアントの作成
@SuppressWarnings("resource")
MongoClient mongo = new MongoClient("localhost", 27017);
// データベースへのアクセス(作成)
mongo.getDatabase("myDatabase1");
mongo.getDatabase("myDatabase2");
mongo.getDatabase("myDatabase3");
System.out.println("Databases created successfully");
}
}実行結果
Databases created successfully
コードの解説
- new MongoClient("localhost", 27017):ローカルホストのデフォルトポート27017で稼働しているMongoDBサーバーに接続するクライアントを生成します。
- mongo.getDatabase("データベース名"):指定した名前のデータベースを表すMongoDatabaseオブジェクトを返します。同名のデータベースが存在しない場合は、新しいデータベースとして扱われます。
補足:より確実にデータベースを実体化させる方法
データベースを確実に作成したい場合は、コレクションを作成してドキュメントを挿入するとよいでしょう。以下のようにgetCollection()やcreateCollection()を組み合わせることで、データベースが実際に生成されます。
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
public class CreatingDatabase {
public static void main(String args[]) {
MongoClient mongo = new MongoClient("localhost", 27017);
MongoDatabase db = mongo.getDatabase("myDatabase");
// コレクションを作成してデータベースを実体化
db.createCollection("sampleCollection");
System.out.println("データベースとコレクションが作成されました");
}
}このように、JavaでMongoDBのデータベースを扱う基本はMongoClient#getDatabase()の呼び出しです。まずはこのメソッドでデータベースオブジェクトを取得し、その後コレクション操作やドキュメントの挿入へ進むのが標準的な流れとなります。
-
JavaでJSON配列を作成する方法をわかりやすく解説
JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x
-
JavaでJSONファイルを作成する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed