{ "_id" : ObjectId("603de64bd0fbb11d21e780dc"), "phone" : "15011226666", "birth" : "01-01-1991", "name" : "bianchengbang", "gender" : "M" }首先我们需要在“users”集合中的 gender 和 name 字段上创建一个复合索引,如下所示:
> db.users.createIndex({gender:1, name:1}) { "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }现在,这个索引将包含以下查询:
> db.users.find({gender:"M"},{name:1,_id:0}) { "name" : "bianchengbang" }也就是说,对于上面的查询,MongoDB 不会查看数据库文档。相反,它将从索引数据中获取所需的数据,这样的查询速度是非常快的。
> db.users.find({gender:"M"}, {name:1}) { "_id" : ObjectId("603de64bd0fbb11d21e780dc"), "name" : "bianchengbang" }另外,如果是以下的查询,也不能使用覆盖索引查询:
本文链接:http://task.lmcjl.com/news/5085.html