首页 > 关于mongodb索引和主键的问题

关于mongodb索引和主键的问题

假设某个表my_table是这样的:
{_id: ObjectId('...'), a:'xxoo', b:0, c:'apple'}
...

有一个普通索引:db.my_table.ensureIndex({b:1, c:1})

现在有一个查询是这样的:

db.my_table.find({
    'b':199,
    'c':'fackbook',
    '_id':{
        $gt:new ObjectId('...')
    }
}).limit(20)

那么问题来了:这个查询用的是哪个索引?是主键,还是上面那个普通索引?


用的是复合索引b、c


可以在后面加上.explain()查看索引使用情况。
文档
说明:
1.cursor: 返回游标类型(BasicCursor 或 BtreeCursor)
2.nscanned: 被扫描的文档数量
3.n: 返回的文档数量
4.millis: 耗时(毫秒)
5.indexBounds: 所使用的索引

【热门文章】
【热门文章】