发布于 2015-09-14 15:02:57 | 168 次阅读 | 评论: 0 | 来源: 网络整理
The $maxDistance operator specifies an upper bound to limit the results of a geolocation query. See below, where the $maxDistance operator narrows the results of the $near query:
db.collection.find( { location: { $near: [100,100], $maxDistance: 10 } } );
This query will return documents with location fields from collection that have values with a distance of 5 or fewer units from the point [100,100]. $near returns results ordered by their distance from [100,100]. This operation will return the first 100 results unless you modify the query with the cursor.limit() method.
Specify the value of the $maxDistance argument in the same units as the document coordinate system.
在 2.2.3 版更改: Before 2.2.3, a geospatial index must exist on a field holding coordinates before using any of the geolocation query operators. After 2.2.3, applications may use geolocation query operators without having a geospatial index; however, geospatial indexes will support much faster geospatial queries than the unindexed equivalents.
注解
A geospatial index must exist on a field and the field must hold coordinates before you can use any of the geolocation query operators.