我是索引新手。只需阅读文档。
如何创建如下所示的复合索引。我想在州名上创建一个索引,在该索引内,我想根据该州的人口创建一个索引。
state wise index
|
----------------------------------------------------
| | |
pop<2000 pop>2000 & pop<5000 pop>5000 & pop<10000
为@Derick 更新的问题:
这是我的模拟数据。
{"pop" : 1000,"state" : "AL"}
{"pop" : 1500,"state" : "AL"}
{"pop" : 2500,"state" : "AL"}
{"pop" : 3000,"state" : "AL"}
{"pop" : 6000,"state" : "AL"}
{"pop" : 8000,"state" : "CA"}
然后,
db.simplezips.createIndex({state:1, pop:1});
db.simpezips.find({state:"AL", pop:{$gte:2500}}).explain();
给出如下日志。这符合我的预期。
"n" : 3,
"nscannedObjects" : 3,
"nscanned" : 3,
"nscannedObjectsAllPlans" : 3,
"nscannedAllPlans" : 3,
问题:
- 我想知道的是,mongodb如何根据人口对文档进行分桶/索引。
- 我如何自定义该分桶?(如上图所示。)