这是使用 mongodb 2.0.4。我们已经考虑过升级,但只是想看看我们是否可以在不这样做的情况下解决这个问题,因为使用我们的设置进行升级并不容易。
我有很多更新查询,其中“查找”部分如下所示:
timestamp:
{
$gte: ISODate('xxxxx'),
$lt: ISODate('xxxxx')
},
id: "string"
processed: false
它基本上在特定日期范围内搜索特定 ID 的记录,并将更新处理从 false 处理为 true(这是一个“工作”进程)。
我尝试创建一个包含所有 3 个字段(以及 _id)的索引,但explain()
仍然返回indexOnly: false
. 奇怪的是,它还为 indexBounds 返回了这个:
"indexBounds" : {
"processed" : [
[
false,
false
]
]
}
有人可以给我一个关于如何解决这个问题的提示,以便 mongodb 正确使用索引(覆盖索引),还是日期范围根本不可能?