MySQL 8.0 リファレンスマニュアル


20.4.3 ドキュメントとコレクション

MySQL をドキュメントストアとして使用している場合、コレクションは、作成、リストおよびドロップできるスキーマ内のコンテナです。 コレクションには、追加、検索、更新および削除できる JSON ドキュメントが含まれます。

このセクションの例では、world_x スキーマの countryinfo コレクションを使用します。 world_x スキーマの設定手順は、セクション20.4.2「world_x データベースのダウンロードおよびインポート」 を参照してください。

Documents

MySQL では、ドキュメントは JSON オブジェクトとして表されます。 内部的には、高速ルックアップおよび更新を可能にする効率的なバイナリ形式で格納されます。

  • Python の単純なドキュメント形式:

    {"field1": "value", "field2" : 10, "field 3": null}
    

ドキュメントの配列は、カンマで区切られた一連のドキュメントで構成され、[および]文字で囲まれます。

  • Python のドキュメントの単純な配列:

    [{"Name": "Aruba", "Code:": "ABW"}, {"Name": "Angola", "Code:": "AGO"}]
    

MySQL は、JSON ドキュメントで次の Python 値タイプをサポートしています:

  • 数値 (整数および浮動小数点)

  • 文字列

  • boolean (False および True)

  • なし

  • JSON 値の配列

  • より多くの JSON 値のネストされた (埋込み) オブジェクト

コレクション

コレクションは、目的を共有し、場合によっては 1 つ以上のインデックスを共有するドキュメントのコンテナです。 各コレクションは一意の名前を持ち、単一のスキーマ内に存在します。

スキーマという用語はデータベースと同等です。つまり、リレーショナルスキーマとは対照的に、データベースオブジェクトのグループであり、データの構造と制約を施行するために使用されます。 スキーマは、コレクション内のドキュメントへの準拠を強制しません。

このクイックスタートガイドの内容は次のとおりです:

  • 基本オブジェクトには次のものがあります:

    オブジェクトフォーム 説明
    db db は、現在アクティブなスキーマに割り当てられたグローバル変数です。 コレクションの取得など、スキーマに対して操作を実行する場合は、db 変数に使用可能なメソッドを使用します。
    db.get_collections() db.get_collections() は、スキーマ内のコレクションのリストを返します。 このリストを使用して、コレクションオブジェクトへの参照の取得、コレクションオブジェクトの反復などを行います。
  • コレクションによってスコープ指定される基本的な操作は次のとおりです:

    操作フォーム 説明
    db.name.add() add() メソッドは、ドキュメントまたはドキュメントのリストを名前付きコレクションに挿入します。
    db.name.find() find() メソッドは、名前付きコレクション内の一部またはすべてのドキュメントを返します。
    db.name.modify() modify() メソッドは、名前付きコレクション内のドキュメントを更新します。
    db.name.remove() remove() メソッドは、名前付きコレクションからドキュメントまたはドキュメントのリストを削除します。

関連情報


関連キーワード:  ドキュメント, コレクション, テーブル, スキーマ, 削除, 作成, 操作, オブジェクト, Shell, ドキュメントストア