默认_id_ index是否由mongoquery使用?

时间:2014-01-10 18:24:10

标签: mongodb indexing mongodb-query mongodb-indexes

我们假设,我们有如下所述的mongo集合

db.test.findOne() {“_ id”:ObjectId(“52d0313dc62b629cfabe22ff”),“a”:1,“b”:1,“c”:1}

这个集合有超过百万条记录。

现在,如果我想找出条件为“a”大于1000且“b”字段小于9000的记录 然后我的mongo查询可能就像..

db.test.find({'a':{'$ gt':1000},'b':{'$ lt':9000}},{'a':1,'c':1} ) 为了使上面的搜索速度更快,我已经在“a”&上使用了复合索引。 “b”字段。 它已被上面的查询使用..

现在,您必须知道,所有集合都带有主键“ _ id _ ”字段的默认索引。

我上面的mongo查询是否使用默认索引“ _ id _ ”?如果是的话怎么样?如果没有那么为什么?

谢谢你 javaamtho

1 个答案:

答案 0 :(得分:2)

,mongo不会在您的查询中使用_id上的默认索引,因为_id不会出现在条件中,也不会出现在查询的排序中。