索引字段上的MongoDB查询将永远返回一个简单的计数

时间:2017-08-19 08:30:31

标签: mongodb mongodb-query mongodb-.net-driver

我有一个超过10亿份文件的集合。其中一些人拥有extra.id字段,但大多数人没有。我有一个如下所述的索引集。当我运行简单查询以获取设置了extra.id的文档计数时,查询需要很长时间才能完成。实际上,我从未等待足够长的时间来完成它。我希望< 1s响应而我得到的是> 15分钟(在我杀死它之前)。我在从Windows客户端连接时在Ubuntu上运行MongoDB 3.4.7。

发生了什么事?我认为部分过滤器表达式在这里会有所帮助,因为查询应该只返回索引文档的计数。

查询

db.handles.find({"extra.id":{$exists:true}}).count()

索引

{ 
    "v" : 1, 
    "name" : "extra.id_1", 
    "ns" : "pull.handles", 
    "background" : true, 
    "partialFilterExpression" : {
        "extra.id" : {
            "$exists" : true
        }
    }
}

0 个答案:

没有答案