Overview
このガイドでは、 Kotlin SyncドライバーでMongoDB のデータベースと コレクションを使用する方法を学習できます。
MongoDB では、データは次のレベルの階層に整理されています。
データベース: コレクションを保存するMongoDBデプロイの最上位のデータ構造。
コレクション: MongoDBドキュメントのグループ。 関係データベースのテーブルに類似しています。
ドキュメント: string 、数値、日付などのリテラル データを保存するユニット。およびその他の埋め込みドキュメントを保存するユニット。 ドキュメントフィールドのタイプと構造の詳細については、 MongoDB Serverマニュアルのドキュメントガイドを参照してください。
データベースへのアクセス
データベースにアクセスするには、データベース名を getDatabase() メソッドに渡します。
次の例えではtest_databaseという名前のデータベースにアクセスします。
val db = client.getDatabase("test_database")
コレクションにアクセスする
コレクションにアクセスするには、データベース名を getCollection() メソッドに渡します。
次の例では、 test_collection という名前のコレクションにアクセスします。
val collection = db.getCollection("test_collection")
Tip
指定されたコレクション名がデータベースにまだ存在しない場合、MongoDB は最初にデータを挿入するときに暗黙的にコレクションを作成します。
コレクションを作成する
MongoDBデータベースにコレクションを明示的に作成するには、コレクション名を createCollection() メソッドに渡します。
次の例では、 example_collectionという名前のコレクションを作成します。
db.createCollection("example_collection")
最大サイズやドキュメント検証ルールなどのコレクションオプションを指定するには、CreateCollectionOptionsインスタンスで設定します。次に、CreateCollectionOptions を createCollection() メソッドに渡します。オプションのパラメーターの完全なリストについては、CreateCollectionOptions APIドキュメントを参照してください。
コレクションの一覧を取得する
listCollections()メソッドを呼び出すと、データベース内のコレクションのリストをクエリできます。 メソッドは、データベース内のすべてのコレクションとそれに関連するメタデータを含むカーソルを返します。
次の例では、 listCollections()メソッドを呼び出し、返されたイテレータを反復処理して、 コレクションへのアクセス と コレクションの作成 の例からコレクションを出力します。
val results = db.listCollections() val jsonSettings = JsonWriterSettings.builder().indent(true).build() results.forEach { result -> println(result.toJson(jsonSettings)) }
{ "name": "example_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } } { "name": "test_collection", "type": "collection", "options": {}, "info": { "readOnly": false, ... }, "idIndex": { ... } }
コレクションの削除
データベースからコレクションを削除するには 、コレクションで drop() メソッドを呼び出します。
次の例では、 test_collectionコレクションを削除しています。
db.getCollection("test_collection").drop()
警告
コレクションを削除すると、コレクション内のすべてのデータが削除されます
データベースからコレクションを削除すると、そのコレクション内のすべてのドキュメントとすべてのインデックスが永続的に削除されます。
データが不要になった場合にのみコレクションを削除します。
データベースの削除
MongoDBデプロイからデータベースを削除するには、データベースで drop() メソッドを呼び出します。
次の例では、test_databaseデータベースを削除しています。
client.getDatabase("test_database").drop()
警告
データベースを削除すると、データベース内のすべてのデータが削除されます
データベースを削除すると、そのデータベース内のすべてのコレクション、ドキュメント、およびインデックスが 永続的に 削除されます。
データベース内のデータが不要になった場合にのみデータベースを削除します。
読み取り操作と書込み操作の設定
レプリカセットでの読み取りおよび書込み操作の実行方法を制御するには、 読み込み設定( 読み込み設定 (read preference)) 、 読み取り保証( 読み取り保証 (read concern)) 、または書込み保証( 書込み保証 (write concern)) を指定します。
デフォルトでは 、データベースは MongoClientインスタンスから読み取りおよび書込み設定を継承します。コレクションは、getCollection() メソッドが呼び出される MongoClient または MongoDatabaseインスタンスからこれらの設定を継承します。これらの設定を変更するには、次のメソッドを呼び出します。
読み込み設定 (read preference)、読み取り保証 (read concern)、書込み保証 (write concern)の設定の詳細については、 CRUDの構成 ガイドを参照してください。
API ドキュメント
このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。