MongoDB Documentation, Release 3.0.4 The $geoIntersects operator queries for locations that intersect a specified GeoJSON object. A location inter- sects the object if the intersection is non-empty. This includes documents that have a shared edge. The $geoIntersects operator uses the following syntax: The following example uses $geoIntersects to select all indexed points and shapes that intersect with the polygon defined by the coordinates array. Proximity queries return the points closest to the defined point and sorts the results by distance. A proximity query on GeoJSON data requires a 2dsphere index. To query for proximity to a GeoJSON point, use either the $near operator or geoNear command. Distance is in meters. The $near uses the following syntax: For examples, see $near . The geoNear command uses the following syntax: The geoNear command offers more options and returns more information than does the $near operator. To run the command, see geoNear . Chapter 8. Indexes 532 db.<collection>.find( { <location field> : { $near : { $geometry : { type : "Point" , coordinates : [ <longitude> , <latitude> ] } , $maxDistance : <distance in meters> } } } ) db.runCommand( { geoNear : <collection> , near : { type : "Point" , coordinates: [ <longitude>, <latitude> ] } , spherical : true } ) db.places.find( { loc : { $geoIntersects : { $geometry : { type : "Polygon" , coordinates: [ [ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ] ] } } } } ) db.<collection>.find( { <location field> : { $geoIntersects : { $geometry : { type : "<GeoJSON object type>" , coordinates : [ <coordinates> ] } } } } ) Proximity to a GeoJSON Point