How to Check Whether an Index is Hidden in MongoDB

From MongoDB 4.4, it’s possible to hide an index from the query planner. This allows you to evaluate the potential impact of dropping an index without actually dropping the index.

You can use the getIndexes() method to check whether or not an index is hidden. If an index is hidden, that index will display a hidden field as having a value of true (i.e. "hidden" : true).

Continue reading

3 Ways to Hide an Index from the Query Plan in MongoDB

Starting from MongoDB 4.4, we can now hide indexes from the query plan. This enables us to evaluate the potential impact of dropping an index without actually dropping the index.

If hiding it has a negative impact, we can unhide the index. This saves us from having to drop the index, then recreate it again.

Below are 3 ways to hide an index in MongoDB.

Continue reading

Fix “index name must be a string” when Dropping Multiple Indexes in MongoDB

If you encounter the “index name must be a string” error when dropping multiple indexes in MongoDB, it’s probably because you’re passing the specifications document instead of the name.

When you use the dropIndexes() method or the dropIndexes command to drop multiple indexes, you need to pass the index names (not the specifications documents) in an array.

Continue reading

How to Create an Index with a Specific Name in MongoDB

When you create an index in MongoDB, if you don’t specify a name for it, MongoDB will assign one.

The default name consists of each indexed field name concatenated with the key value for that field. For example, the sort order, or if it’s a text index, the string _text, or if it’s a 2dsphere index, the string _2dsphere, etc.

But you can assign your own name when creating indexes in MongoDB.

Continue reading

Exclude Specific Fields in Wildcard Index in MongoDB

When you create a wildcard index in MongoDB, you have the option of specifying a single field, all fields, or just some.

You also have the option of excluding certain fields. In other words, you can specify all fields except for one or more specific fields.

You can use the wildcardProjection parameter to include or exclude specific field paths from the wildcard index. This article presents an example of excluding specific fields in the wildcard index.

Continue reading