未将索引添加到文档布尔字段会导致MongoDB中的文档扫描次数过多

未将索引添加到文档布尔字段会导致MongoDB中的文档扫描次数过多,mongodb,spring-data-mongodb,Mongodb,Spring Data Mongodb,我被分配了一个项目,该项目运行一个频繁的查询,以获取带有布尔字段(inStock)的产品,我收到了警报 扫描/返回的对象已超过1000个 在Spring数据中,它是findByProductsInStock(布尔标志),转换为查询{“inStock”:true} 进货和缺货的产品数量约为50/50。根据我在网上的一点研究,如果搜索结果中的文档比率非常高,通常不建议针对布尔字段放置索引。我是否应该尝试将索引添加到此布尔字段并测量其性能?是否可以将索引添加到MongoDB中的现有doucments?

我被分配了一个项目,该项目运行一个频繁的查询,以获取带有布尔字段(
inStock
)的产品,我收到了警报

扫描/返回的对象已超过1000个

在Spring数据中,它是
findByProductsInStock(布尔标志)
,转换为查询
{“inStock”:true}


进货和缺货的产品数量约为50/50。根据我在网上的一点研究,如果搜索结果中的文档比率非常高,通常不建议针对布尔字段放置索引。我是否应该尝试将索引添加到此布尔字段并测量其性能?是否可以将索引添加到MongoDB中的现有doucments?

MongoDB Atlas集群上的消息“扫描的对象/返回的已超过1000”;该链接包含解决此问题的其他信息。(1) “是否可以将索引添加到MongoDB中的现有doucments?”:是的,可以将索引添加到现有集合(通常),(2)“我是否应该尝试将索引添加到此布尔字段并测量其性能?”:您对应用程序和数据最为了解。您可能希望发布有关集合的其他信息,查询及其对任何特定答案的用法。是的,您应该尝试将索引添加到此布尔字段。是的,您还可以向现有文档添加索引。我不确定在布尔字段上放置索引是否有问题,也许您可以共享您的源代码。1000:1的扫描/返回比率与您50/50的假设相矛盾。我的假设是错误的。是一个完全不同的查询导致了这个问题。