为什么MongoDB需要这么长时间才能对只有一个对象的结果进行排序?

时间:2016-07-14 21:59:45

标签: mongodb mongodb-query

我正在优化一个相当复杂的表单查询:

db.foo.find({
    "$or":[
        {"bar1":ObjectID("123123"), baz:false},
        {"bar2":ObjectID("123123"), baz:false}
    ],
    "deleted":false}
).sort("modified_on")

这种情况似乎在扼杀我的表现。我在modified_date字段上有索引,如下所示:

{
    "v" : 1,
    "key" : {
        "modified_on" : 1
    },
    "ns" : "realtalk.customer_profile",
    "name" : "modified_on_1"
},
{
    "v" : 1,
    "key" : {
        "modified_on" : -1
    },
    "ns" : "realtalk.customer_profile",
    "name" : "modified_on_-1"
}

这些似乎根本没有加快查询速度。真正让我疯狂的是我的结果大小。此查询只返回少量对象,通常只有一个。如何对mongo进行如此长的排序,以及如何加快速度呢?

0 个答案:

没有答案