Behavior Examples sparse Index and Incomplete Results Changed in version 2.6. If a sparse index would result in an incomplete result set for queries and sort operations, MongoDB will not use that index unless a hint() explicitly specifies the index. For example, the query { x: { $exists: false } } will not use a sparse index on the x field unless explicitly hinted. See Sparse Index On A Collection Cannot Return Complete Results (page 506) for an example that details the behavior. MongoDB Documentation, Release 3.0.4 Indexes that are sparse by Default 2dsphere (version 2) (page 496), 2d (page 497), geoHaystack (page 498), and text (page 500) indexes are always sparse . sparse Compound Indexes Sparse compound indexes (page 489) that only contain ascending/descending index keys will index a document as long as the document contains at least one of the keys. For sparse compound indexes that contain a geospatial key (i.e. 2dsphere (page 496), 2d (page 497), or geoHaystack (page 498) index keys) along with ascending/descending index key(s), only the existence of the geospatial field(s) in a document determine whether the index references the document. For sparse compound indexes that contain text (page 500) index keys along with ascending/descending index keys, only the existence of the text index field(s) determine whether the index references a document. sparse and unique Properties An index that is both sparse and unique (page 504) prevents collection from having documents with duplicate values for a field but allows multiple documents that omit the key. Create a Sparse Index On A Collection Consider a collection scores that contains the following documents: The collection has a sparse index on the field score : db.scores.createIndex( { score: 1 } , { sparse: true } ) Then, the following query on the scores collection uses the sparse index to return the documents that have the score field less than ( $lt ) 90 : db.scores.find( { score: { $lt: 90 } } ) Because the document for the userid "newbie" does not contain the score field and thus does not meet the query criteria, the query can use the sparse index to return the results: { "_id" : ObjectId("523b6e61fb408eea0eec2648"), "userid" : "abby", "score" : 82 } Sparse Index On A Collection Cannot Return Complete Results Consider a collection scores that contains the following documents: { "_id" : ObjectId("523b6e32fb408eea0eec2647"), "userid" : "newbie" } { "_id" : ObjectId("523b6e61fb408eea0eec2648"), "userid" : "abby", "score" : 82 } { "_id" : ObjectId("523b6e6ffb408eea0eec2649"), "userid" : "nina", "score" : 90 } { "_id" : ObjectId("523b6e32fb408eea0eec2647"), "userid" : "newbie" } { "_id" : ObjectId("523b6e61fb408eea0eec2648"), "userid" : "abby", "score" : 82 } { "_id" : ObjectId("523b6e6ffb408eea0eec2649"), "userid" : "nina", "score" : 90 } Chapter 8. Indexes 506