我需要能够查询具有某个范围之间的日期字段的文档,但有时在我的数据集中,年份并不重要(这在mongo文档中用布尔标志表示)。
所以,例如,我可能有一份圣诞节的文件(12 / 25--年不重要)和2014年世界杯决赛(2014年8月13日)的另一份文件。如果用户搜索2014年8月1日至2014年12月31日之间的日期,则这两个文档应该匹配,但2010年世界杯决赛的另一个文档不会。
到目前为止,我已经开始工作的所有方法都使用了$和$或语句的复杂嵌套,即使索引设置得当,也会导致生产速度太慢。有没有一种简单或理想的方法来处理mongo中的这种条件日期搜索?
答案 0 :(得分:0)
对我来说,你必须存储你要搜索的特定值,并将它们编入索引。
例如,除了日期之外,您可以存储“年”,“月”和“日”,“月”和“日”的索引,并对其进行查询。
您可能希望将它们存储为“y”,“m”和“d”以获得一些字节(这很难过,我知道)。