mongodb sparse Индексы -- что это такое (и их опасность)

Что это

Sparse-индексы позволяют индексировать не все записи в коллекции, а только в те. в которых реально есть индексируемое поле.
В то время как "не-Sparse" индексы индексируют и хранят все документы коллекции, (используя null, для тех документов, у которых поля нет) -- короче, экономия налицо ;)

Как создать sparse индекс

Создать можно, например, командой:

db.addresses.createIndex( { "xmpp_id": 1 }, { sparse: true } )

Источник:
Sparse indexes only contain entries for documents that have the indexed field, even if the index field contains a null value. The index skips over any document that is missing the indexed field. The index is “sparse” because it does not include all documents of a collection. By contrast, non-sparse indexes contain all documents in a collection, storing null values for those documents that do not contain the indexed field.

Опасность спарс индекса

Спарс индекс может не всегда использоваться (в том числе при сортировке).

Key Words for FKN + antitotal forum (CS VSU):