Docs Menu
Docs Home
/ / /
Java Sync Driver
/

データベースとコレクション

項目一覧

  • Overview
  • データベースへのアクセス
  • コレクションにアクセスする
  • コレクションを作成する
  • ドキュメントの検証
  • コレクションの一覧を取得する
  • コレクションの削除
  • 読み込み設定(read preference)、読み取り保証(read concern)、書込み保証(write concern)の指定

このガイドでは、MongoDB Java ドライバーで MongoDB の データベース と コレクション を使用する方法を学習できます。

MongoDB では、データは次のレベルの階層に整理されています。

  • Databases

  • コレクション

  • ドキュメント

データベースは、MongoDB インスタンスの最上位のデータ組織です。 データベースは、ドキュメントを含むコレクションに整理されています。 ドキュメントには、文字列、数値、日付などのリテラル データと、その他の(埋め込み)ドキュメントが含まれます。 ドキュメント フィールドの型と構造の詳細については、 ドキュメントのサーバードキュメントを参照してください。

MongoDBインスタンス内の にアクセスするには、 インスタンスの getDatabase() メソッドを使用します。MongoClientMongoDatabase

次の例では、「 TestDatabase 」という名前のデータベースにアクセスします。

MongoDatabase database = mongoClient.getDatabase("testDatabase");

getCollection() メソッド MongoDatabaseを使用するMongoCollection インスタンスのメソッドを使用して、接続された MongoDB インスタンスのデータベース内の にアクセスします。

次の例えではMongoDatabaseから「 TestCollection 」という名前のコレクションにアクセスします。

MongoDatabase database = mongoClient.getDatabase("testDatabase");
MongoCollection<Document> collection = database.getCollection("testCollection");

Tip

指定されたコレクション名がデータベースにまだ存在しない場合、MongoDB は最初にそのコレクションにデータを挿入する際に、暗黙的にコレクションを作成します。

createCollection() メソッド を使用するMongoDatabase インスタンスのメソッドを使用して、接続された MongoDB インスタンスのデータベースにコレクションを作成します。

次の例では、「exampleCollection」というコレクションを作成します。

database.createCollection("exampleCollection");

CreateCollectionOptions を使用して、最大サイズやドキュメント検証ルールなどのコレクション オプションを指定できます クラス。createCollection()メソッドは、 CreateCollectionOptionsのインスタンスを任意の 2 つ目のパラメータとして受け入れます。

ドキュメント検証機能は、コレクションへの書込み中に一連のフィルターに対してドキュメントを検証する機能を提供します。 You can specify these filters using the ValidationOptions class, which accepts a series of Filters that specifies the validation rules and expressions:

ValidationOptions collOptions = new ValidationOptions().validator(
Filters.or(Filters.exists("commander"), Filters.exists("first officer")));
database.createCollection("ships",
new CreateCollectionOptions().validationOptions(collOptions));

詳細については、ドキュメント検証 に関するサーバーのドキュメントを参照してください。

MongoDatabase.listCollectionNames() メソッド を使用して、データベース内のコレクションのリストをクエリできますメソッド:

for (String name : database.listCollectionNames()) {
System.out.println(name);
}

MongoCollection.drop() メソッド を使用して、データベースからコレクションを削除できます。メソッド:

MongoCollection<Document> collection = database.getCollection("bass");
collection.drop();

警告

コレクションを削除すると、コレクション内のすべてのデータが削除されます

データベースからコレクションを削除すると、そのコレクション内のすべてのドキュメントと、そのコレクションのすべてのインデックスも永続的に削除されます。 不要になったデータを含むコレクションのみを削除します。

読み込み設定(read preference ) 、 読み取り保証( read concern ) 、 書込み保証( write concern ) は、MongoDB レプリカセットに接続するときに、ドライバーが読み取り操作をルーティングして読み取りおよび書込み操作の確認を待つ方法を制御します。 読み込み設定(read preference)と読み取り保証(read concern)はすべての読み取り操作に適用されます。書込み保証 (write concern) はすべての書込み (write) 操作に適用されます。

MongoDatabase インスタンスは、書込み保証(write concern)、読み取り保証(read concern)、書込み設定(write preference)の設定を、作成に使用されるMongoClientから継承します。 MongoCollectionインスタンスは、書込み保証(write concern)、読み取り保証(read concern)、書込み設定(write preference)の設定を、作成に使用されるMongoDatabaseから継承します。 ただし、次のメソッドを使用して、通常継承する設定とは異なる読み込み設定(read preference)、読み取り保証(read concern)、または書込み保証(write concern)を持つMongoDatabaseまたはMongoCollectionのインスタンスを取得できます。

Tip

withReadConcern()withReadPreference()、 、およびwithWriteConcern MongoDatabaseMongoCollectionメソッドは、優先順位または保証を持つ または の新しいインスタンスを作成します。メソッドが呼び出されるMongoDatabaseまたはMongoCollectionは、元の優先設定と保証設定を保持します。

詳細については、 読み込み設定( read preference ) 、 読み取り保証( read concern ) 、 書込み保証( write concern) に関するサーバーのドキュメントを参照してください。

戻る

Stable API