pymongoを使用してインデックスを作成する方法


  1. 単一フィールドインデックスの作成: MongoDBコレクションの特定のフィールドに対して単一フィールドインデックスを作成するには、以下のコードを使用します。

    from pymongo import MongoClient
    # MongoDB接続の確立
    client = MongoClient('localhost', 27017)
    db = client['your_database']
    collection = db['your_collection']
    # インデックスの作成
    collection.create_index('field_name')

    field_nameにはインデックスを作成したいフィールドの名前を指定します。

  2. 複数フィールドインデックスの作成: 複数のフィールドに対してインデックスを作成するには、以下のようにcreate_indexメソッドの引数に複数のフィールドを指定します。

    collection.create_index([('field1', pymongo.ASCENDING), ('field2', pymongo.DESCENDING)])

    上記の例では、field1に昇順のインデックスを作成し、field2に降順のインデックスを作成しています。

  3. インデックスオプションの指定: インデックスのオプションを指定することもできます。例えば、一意のインデックスやテキスト検索用のインデックスを作成することができます。以下はいくつかの例です。

    # 一意のインデックスの作成
    collection.create_index('field_name', unique=True)
    # テキスト検索用のインデックスの作成
    collection.create_index('text_field', {'$': 'text'})

    上記の例では、unique=Trueを指定することで一意のインデックスを作成し、{'$': 'text'}を指定することでtext_fieldに対するテキスト検索用のインデックスを作成しています。

これらはpymongoを使用してMongoDBでインデックスを作成するための基本的な方法です。必要に応じて、他のインデックスオプションや高度なインデックスの作成方法をMongoDBの公式ドキュメントから参照してください。