在单个field上创建索引,查询时用升序或降序的区别不大。在多个field上创建索引的时候,影响就比较大了。
如果索引中的field是一个array,那么索引就变成了多key索引,多key索引不支持全覆盖查询。
> db.users.createIndex({name:1}); { "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.users.createIndex({name:1,age:1}); { "createdCollectionAutomatically" : false, "numIndexesBefore" : 2, "numIndexesAfter" : 3, "ok" : 1 } >