AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

インデックス名の指定

インデックスを作成する際に、インデックスにカスタム名を付けることができます。インデックスに名前を付けると、コレクションのさまざまなインデックスを区別するのに役立ちます。たとえば、インデックスに異なる名前が付いている場合は、クエリプランの explain の結果でクエリにより使用されるインデックスを、より簡単に識別できます。

インデックス名を指定するには、インデックスを作成するときに name オプションを含めます。

db.<collection>.createIndex(
{ <field>: <value> },
{ name: "<indexName>" }
)

インデックス名を指定する前に、以下のことを考慮します。

  • インデックス名は一意である必要があります。既存のインデックス名を使用してインデックスを作成すると、エラーが返されます。

  • 既存のインデックスの名前は変更できません。代わりに、インデックスを削除して新しい名前で再作成する必要があります。

インデックスの作成時に名前を指定しない場合、システムは各インデックス キー フィールドと値をアンダースコアで連結して名前を生成します。以下に例を挙げます。

Index
デフォルト名

{ score : 1 }

score_1

{ content : "text", "description.tags": "text" }

content_text_description.tags_text

{ category : 1, locale : "2dsphere"}

category_1_locale_2dsphere

{ "fieldA" : 1, "fieldB" : "hashed", "fieldC" : -1 }

fieldA_1_fieldB_hashed_fieldC_-1

このページの例では、sample_mflixサンプルデータセットのデータを使用します。このデータセットを自己管理型MongoDB配置にロードする方法の詳細については、サンプルデータセットをロードする を参照してください。サンプルデータベースに変更を加えた場合、このページの例を実行するには、データベースを削除して再作成する必要がある場合があります。

name フィールドと text フィールドにテキストインデックスを作成します。インデックスname を CommentsTextIndex に設定します。

db.comments.createIndex(
{
name: "text",
text: "text"
},
{
name: "CommentsTextIndex"
}
)
CommentsTextIndex

インデックスを作成したら、db.collection.getIndexes() メソッドを使用してインデックス名を取得できます。

db.comments.getIndexes()
[
{
v: 2,
key: {
_id: 1
},
name: '_id_'
},
{
v: 2,
key: {
_fts: 'text',
_ftsx: 1
},
name: 'CommentsTextIndex',
weights: {
name: 1,
text: 1
},
default_language: 'english',
language_override: 'language',
textIndexVersion: 3
}
]