我遇到一种情况,客户可能会查询带有某些日期范围的某些值,例如:
相等条件
field_1
等于value_1
field_2
等于value_2
field_3
在数组values_3
范围条件(OR)
date_1
大于date_value_1_1
并且小于date_value_1_2
date_2
大于date_value_2_1
并且小于date_value_2_2
date_3
大于date_value_3_1
并且小于date_value_3_2
所有查询的字段均已建立索引。我有以下几个问题:
MongoDB将如何执行此查询,并将使用所有索引?
我记得在某个地方读到MongoDB仅使用索引直到第一个范围条件,对吗?
查询中条件的顺序重要吗?
对于单个字段上大于和小于的组合条件,MongoDB将如何执行?它会找到所有值都大于提供的值的文档,然后在该子集中找到所有值都小于提供的值的文档,还是会找到两个大于最后一个子集并开始小于然后将它们组合在一起的子集? / p>
范围条件为AND时有什么区别吗?
在这种情况下,日期范围是从某天到某天,如果我添加另一个字段以指示文档属于哪一天只进行相等条件的查询,有什么区别吗?