创建索引时,可以为索引指定自定义名称。为索引指定名称有助于区分集合中的不同索引。例如,如果您的索引具有不同名称,则可以更轻松地在查询计划的 解释结果中识别查询使用的索引。
要指定索引名称,请在创建索引时包含 name 选项:
db.<collection>.createIndex(    { <field>: <value> },    { name: "<indexName>" } ) 
关于此任务
在指定索引名称之前,请考虑以下几点:
- 索引名称必须是唯一的。使用已有索引的名称创建索引会报错。 
- 无法重命名现有索引。相反,您必须删除索引并使用新名称重新创建索引。 
默认索引名称
如果您在创建索引时未指定名称,系统会用下划线将每个索引键字段和值连接起来,从而生成新索引的名称。例如:
| Index | 默认名称 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
步骤
blog集合包含有关博文和用户交互的数据。
在 content、users.comments 和 users.profiles 字段上创建文本索引。将索引 name 设置为 InteractionsTextIndex:
db.blog.createIndex(    {      content: "text",      "users.comments": "text",      "users.profiles": "text"    },    {      name: "InteractionsTextIndex"    } ) 
结果
创建索引后,可以使用 db.collection.getIndexes() 方法获取索引名称:
db.blog.getIndexes() 
输出:
[   { v: 2, key: { _id: 1 }, name: '_id_' },   {     v: 2,     key: { _fts: 'text', _ftsx: 1 },     name: 'InteractionsTextIndex',     weights: { content: 1, 'users.comments': 1, 'users.profiles': 1 },     default_language: 'english',     language_override: 'language',     textIndexVersion: 3   } ]