db.tablebusiness.find({ "LongitudeLatitude" : { "$nearSphere" : [106.772835, -6.186753], "$maxDistance" : 0.053980478460939611 }, "Prominent" : { "$gte" : 15 }, "indexContents" : { "$all" : [/^soto/, /^nasi/] } }).limit(200).explain();
{
"cursor" : "GeoSearchCursor",
"nscanned" : 48,
**"nscannedObjects" : 48,**
"n" : 48,
"millis" : 8563,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {
}
}
>
那么索引的名称是什么?我看到一些问题,索引的名称确实出现了。看看这里MongoDB: why doesn't sorting by multiple keys use an index?例如
我也听说过某些地方的解释(真实),这里没有记载:
答案 0 :(得分:2)
我不确定它是故意还是缺陷,但是当使用地理空间索引时,所使用的索引名称不会显示在解释计划中。
仅在使用BtreeCursor时才显示索引名称。
如上面的评论中所述,集合上只能有一个地理空间索引。在此参数下,您可以假设如果光标是“GeoSearchCursor”,则它正在使用您希望此集合的索引。
答案 1 :(得分:2)
这是一个已知问题。请参阅https://jira.mongodb.org/browse/SERVER-4213