有没有人知道在MongoDB中运行查询的方法,并指定使用命名索引 NOT ?
我们的数据有多个索引,有些情况下mongo选择使用哪个索引来满足某些类型的查询。但我们不一定要声明使用特定索引。只有我们知道哪一个绝对是一个糟糕的选择。
使用命名索引很简单:
db.users.find({....}).hint( "index_name" )
排除命名索引可能如下所示:
db.users.find({....}).hint( "index_name", false)
感谢任何见解。
答案 0 :(得分:3)
您不能排除索引,您只能指定使用一个索引。 但是,MongoDB通过针对所有索引检查查询的搜索速度,根据您的查询通过经验测试索引。然后,它根据这些结果确定要使用的索引。你可以用.explain(true)运行查询来显示所有的查询计划。
此致 查理