【发布时间】:2012-09-11 12:53:03
【问题描述】:
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? 为例
我还听说过 explain(true) 在这里根本没有记录的地方:
【问题讨论】:
-
请注意,mongodb.org/display/DOCS/Geospatial+Indexing 表示每个集合可能只有 1 个地理空间索引。这意味着“GeoSearchCursor”必须使用那个索引。
-
等一下。如果我们有时想搜索按突出排序的点,而后者想根据标题搜索点,那该怎么办。我们需要 2 个地理空间索引,每个索引属于两个不同的组合。