- Reference >
- Operators >
- Query and Projection Operators >
- Geospatial Query Operators >
- $center
$center¶
On this page
Definition¶
- $center¶
1.4 新版功能.
The $center operator specifies a circle for a $geoWithin query. The query returns legacy coordinate pairs that are within the bounds of the circle. The operator does not return GeoJSON objects.
To use the $center operator, specify an array that contains:
- The grid coordinates of the circle’s center point, and
- The circle’s radius, as measured in the units used by the coordinate system.
{ <location field>: { $geoWithin: { $center: [ [ <x>, <y> ] , <radius> ] } } }
重要
If you use longitude and latitude, specify longitude first.
Behavior¶
The query calculates distances using flat (planar) geometry.
Applications can use $center without having a geospatial index. However, geospatial indexes support much faster queries than the unindexed equivalents.
Only the 2d geospatial index supports $center.
Example¶
The following example query returns all documents that have coordinates that exist within the circle centered on [ -74, 40.74 ] and with a radius of 10:
db.places.find(
{ loc: { $geoWithin: { $center: [ [-74, 40.74], 10 ] } } }
)