Indexes
Database indexes are a way to optimize the performance of your database by allowing it to quickly locate and retrieve data. If you have a field that you frequently query or sort by, adding an index to that field can significantly improve the speed of those operations.
When your query runs, the database will not scan the entire document to find that one field, but will instead use the index to quickly locate the data.
To index a field, set the index
option to true
in your field's config:
Compound Indexes
In addition to indexing single fields, you can also create compound indexes that index multiple fields together. This can be useful for optimizing queries that filter or sort by multiple fields.
To create a compound index, use the indexes
option in your Collection Config:
Localized fields and MongoDB indexes
When you set index: true
or unique: true
on a localized field, MongoDB creates one index per locale path (e.g., slug.en
, slug.da-dk
, etc.). With many locales and indexed fields, this can quickly approach MongoDB's per-collection index limit.
If you know you'll query specifically by a locale, index only those locale paths using the collection-level indexes
option instead of setting index: true
on the localized field. This approach gives you more control and helps avoid unnecessary indexes.