Docs Menu
Docs Home
/
MongoDBマニュアル
/

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

項目一覧

  • Overview
  • Databases
  • コレクション

MongoDBではデータレコードを、コレクションにまとめられた ドキュメント(具体的にはBSONドキュメント)として保存します。データベースには 1 つ以上のドキュメントのコレクションが保存されます。

Atlas UI、 、または MongoDB Compassmongosh から Atlas クラスター上の データベース コレクション を管理できます。このページでは、Atlas UI から Atlas クラスター上のデータベースとコレクションを管理する方法について説明します。 自己管理型配置では、 mongoshまたは MongoDB Compass を使用してデータベースとコレクションを管理できます。

データベースとコレクションの管理に使用するクライアントを選択します。

MongoDB Atlas は、選択したクラウドプロバイダーでデータベースの配置と管理を簡素化するマルチクラウド データベース サービスです。

MongoDB Shell であるmongoshは、MongoDB の配置を操作するための JavaScript と Node.js REPL環境です。 詳しくは、 mongosh を参照してください。

MongoDB Compass は、MongoDB データをビジュアル環境でクエリ、集計、分析するための強力な GUI です。 詳しくは、 MongoDB Compass を参照してください。

MongoDB では、データベースには 1 つ以上のドキュメントのコレクションが保存されます。

使用するデータベースを選択するには、Atlas にログインして次の操作を行います。

1
2

使用するデータベースを選択するには、 mongoshで、次の例のようにuse <db>ステートメントを発行します。

use myDB

使用するデータベースを選択するには、次の手順を実行します。

1

詳しくは、「 MongoDB への接続 」を参照してください。

2

[ Databases ] タブが開き、MongoDB に配置した既存のデータベースが一覧表示されます。

新しいデータベースを作成するには、Atlas にログインして次の操作を行います。

1
2
3

データベースとコレクション名を入力して、データベースとその最初のコレクションを作成します。

4

作成が成功すると、データベースとコレクションは Atlas UI の左側のペインに表示されます。

データベースが存在しない場合、MongoDB はそのデータベースのデータを最初に保存するときにデータベースを作成します。そのため、存在しないデータベースに切り替えて、mongosh で次の操作を実行できます。

use myNewDB
db.myNewCollection1.insertOne( { x: 1 } )

insertOne() 操作では、データベース myNewDB とコレクション myNewCollection1 がまだ存在しない場合は、両方が作成されます。データベース名とコレクション名の両方が MongoDB の命名規定に従っていることを確認してください。

1
2
3
4

MongoDB はドキュメントをコレクションに保存します。コレクションは、関係データベースのテーブルに類似しています。

MongoDB ドキュメントのコレクション。
クリックして拡大します

コレクションが存在しない場合、MongoDB は最初にそのコレクションにデータを保存する際にコレクションを作成します。

コレクションを新規作成するには、Atlas にログインして次の操作を行います。

1
2
3
4

作成に成功すると、コレクションは Atlas UI のデータベースの下に表示されます。

db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )

insertOne()createIndex() の両操作は、それぞれのコレクションがまだ存在していない場合に作成します。コレクション名が MongoDB の命名規定に従っていることを確認してください。

1
2
3
4

コレクションを新規作成するには、Atlas にログインして次の操作を行います。

1
2
3
4

次のいずれかのタイプのコレクションを作成できます。

  • 上限付きコレクション

    上限付きコレクションの作成を選択した場合は、最大サイズをバイト単位で指定します。

  • 時系列コレクション

    時系列コレクションを作成する場合は、時間フィールドと粒度を指定します。オプションで、メタ フィールドと、コレクション内の古いデータの有効期限が切れる時間を指定できます。

  • クラスター化されたインデックスのコレクション

    クラスター化されたコレクションの作成を選択する場合は、クラスター化されたインデックスのキー値とクラスター化されたインデックスの名前を指定する必要があります。

5

作成に成功すると、コレクションは Atlas UI のデータベースの下に表示されます。

MongoDB は、最大サイズやドキュメント検証ルールの設定など、さまざまなオプションを使用してコレクションを明示的に作成するための db.createCollection() メソッドを提供します。これらのオプションを指定しない場合、コレクションのデータを初めて保存するときに MongoDB によって新しいコレクションが作成されるため、コレクションを明示的に作成する必要はありません。

これらのコレクション オプションを変更するには、collMod を参照してください。

1
2
3
4

MongoDB Compass では、コレクションに対して構成できる次の追加の設定が提供されています。

デフォルトでは、コレクション内のドキュメントは同じスキーマを持つ必要はありません。つまり、1 つの同じコレクション内のドキュメントは、同一のフィールド セットを持つ必要はなく、フィールドのデータ型もドキュメントごとに異なっていても構いません。

ただし、更新および挿入操作中にコレクションに対してドキュメント検証ルールを強制できます。詳細については、「スキーマの検証」を参照してください。

MongoDB Atlas でホストされている配置では、 Performance Advisorと MongoDB Atlas UI が一般的なスキーマ設計の問題を検出し、MongoDB のベストプラクティスに従う変更を提案します。 詳細については、「スキーマの提案 」を参照してください。

新しいフィールドの追加、既存のフィールドの削除、フィールド値を新しいタイプに変更するなど、コレクション内のドキュメント構造を変更するには、ドキュメントを新しい構造に更新します。

コレクションには不変の UUID が割り当てられます。コレクション UUID は、シャーディングされたクラスターにあるレプリカセットとシャードのすべてのメンバーで同じに保たれます。

コレクションの UUID を取得するには、listCollections コマンドまたは db.getCollectionInfos() メソッドを実行します。

戻る

はじめる