Specify Name for text Index

The default name for the index consists of each indexed field name concatenated with _text. For example, the following command creates a text index on the fields content, users.comments, and users.profiles:

db.collection.createIndex(
   {
     content: "text",
     "users.comments": "text",
     "users.profiles": "text"
   }
)

The default name for the index is:

"content_text_users.comments_text_users.profiles_text"

The text index, like other indexes, must fall within the index name length limit.

Specify a Name for text Index

To avoid creating an index with a name that exceeds the index name length limit, you can pass the name option to the db.collection.createIndex() method:

db.collection.createIndex(
   {
     content: "text",
     "users.comments": "text",
     "users.profiles": "text"
   },
   {
     name: "MyTextIndex"
   }
)

Use the Index Name to Drop a text Index

Whether the text index has the default name or you specified a name for the text index, to drop the text index, pass the index name to the db.collection.dropIndex() method.

For example, consider the index created by the following operation:

db.collection.createIndex(
   {
     content: "text",
     "users.comments": "text",
     "users.profiles": "text"
   },
   {
     name: "MyTextIndex"
   }
)

Then, to remove this text index, pass the name "MyTextIndex" to the db.collection.dropIndex() method, as in the following:

db.collection.dropIndex("MyTextIndex")

To get the names of the indexes, use the db.collection.getIndexes() method.