Mongo:索引性能和查询字段的顺序

时间:2016-06-07 13:20:46

标签: node.js mongodb indexing geolocation

我对MongoDB的索引及其表现感到困惑。我正在构建一个node.js应用程序来查找某个区域内的菜肴。

我的桌子看起来像是这样,有3M餐具:

 { 
     "_id" : ObjectId("560efcf76ea0f2293c60bf6a"), 
     "name" : "Brunch Pizza", 
     "loc" : [
         -77.063166, 
         38.906866
     ], 
     "rs" : NumberInt(4) }

我有几个索引,但这里有相关的索引:

{ "loc" : "2d" }
{ "loc" : "2d", "name" : 1}

现在,当我查询 字段时,响应时间非常快(小于0.2秒)。当我一起查询两者时,它大概是1或2秒。我做错了什么?

sort is always: {rs:-1}

{"loc":{"$within":{"$box":[[-78.0,38.0],[-77.0,39.0]]}}}: 0.173s for 186k documents
{name:/pizza/gi}: 0.112s

{"loc":{"$within":{"$box":[[-78.0,38.0],[-77.0,39.0]]}}, name:/pizza/gi}: 2s
{name:/pizza/gi, "loc":{"$within":{"$box":[[-78.0,38.0],[-77.0,39.0]]}}}: 2s

这些是来自MongoChef的数字,但是从节点调用时,它的次数相似。

0 个答案:

没有答案