MongoDB 学习笔记之 $or与索引关系

$or与索引关系:

对leftT集合的timestamp创建索引

执行$or语句:db.leftT.find({$or: [{ "timestamp" : 5},{"age": 10}]}).explain(true),发现没有使用任何索引

对age再创建索引

重新再次查看查询计划:

索引被使用了。

结论:

如果使用了$or操作符,必须保证关键字都有索引,如果其中任何一个关键字没有索引,则默认没有索引,会使用全表扫描。

原文地址:https://www.cnblogs.com/AK47Sonic/p/7517892.html