【问题标题】:How can i exclude a mongo index from a query?如何从查询中排除 mongo 索引?
【发布时间】:2013-09-10 13:27:47
【问题描述】:

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

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

使用命名索引很简单:

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

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

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

感谢任何见解。

【问题讨论】:

  • 我不知道,99.99% 的时间你想排除所有索引或只包含一个

标签: mongodb indexing query-hints


【解决方案1】:

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

问候, 查理

【讨论】:

    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2017-10-29
    • 2012-07-08
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多