Mongo不会通过planCacheSetFilter应用索引过滤器集

时间:2018-10-29 08:10:08

标签: mongodb indexing

我试图在非常简单的情况下应用索引过滤器集。但这是行不通的。即使是非常简单的情况。

我创建了一个简单的集合,每个条目的外观如下:

def parse(self, response):
    hxs = Selector(response)
    links = hxs.xpath("//p")
    items = []
    for linkk in links:
        item = ErcessassignmentItem()
        item["link"] = linkk.xpath("//a/@href").extract()
        items.append(item)
    else:                               # after for loop is finished
        # either return items
        # or print link in items here without returning
        for link in items:              # take one link after another
            print link                  # and print it in one line each

我添加了索引:

{
    "_id" : ObjectId,
    "SetId" : 324,
    "id_internal" : "BBU1P0ALB",
    "SetName" : "Name",
    (...)
} 

最后,我准备了如下查询:

{
    "SetName" : 1,
    "id_internal": 1
}

解释说indexFilterSet:false,如预期的那样(以及Collscan作为获胜计划的阶段)。 终于我准备好了:

db.TestCollection.find( { SetName: "Name" } );

现在重试查询后(find({SetName:“ Name”}))我希望解释会说indexFilterSet:true,然后在索引上赢得普通点。但这并没有发生。显然:db.runCommand({planCacheListFilters:“ TestCollection”})确认已添加我的过滤器。

可以帮助我配置查询形状吗?还是还有另一个问题?

谢谢您的帮助!

0 个答案:

没有答案