如何从查询中排除mongo索引?

时间:2013-09-10 13:27:48

标签: mongodb indexing hint

有没有人知道在MongoDB中运行查询的方法,并指定使用命名索引 NOT

我们的数据有多个索引,有些情况下mongo选择使用哪个索引来满足某些类型的查询。但我们不一定要声明使用特定索引。只有我们知道哪一个绝对是一个糟糕的选择。

使用命名索引很简单:

db.users.find({....}).hint( "index_name" )

排除命名索引可能如下所示:

db.users.find({....}).hint( "index_name", false)

感谢任何见解。

1 个答案:

答案 0 :(得分:3)

您不能排除索引,您只能指定使用一个索引。 但是,MongoDB通过针对所有索引检查查询的搜索速度,根据您的查询通过经验测试索引。然后,它根据这些结果确定要使用的索引。你可以用.explain(true)运行查询来显示所有的查询计划。

此致 查理