5.3 Geospatial query operator $centerSphere

The operator $centerSphere defines a circle for a geospatial query that uses spherical geometry. The query returns documents that are within the bounds of the circle.

> // Displays the titles of documents that are less than
> // 200 meters from the center of Praça da República.
> // (6371 km is the average radius of the earth)
> // (Coordinates in Longitude, Latitude)
> db.pages.find(
...     {coordinates:
...         {$geoWithin:
...             { $centerSphere: [ [  -43.1885, -22.9066 ] , 0.2/6371 ] }
...         }
...     },
...     {title: 1, _id: 0}
... ).sort( {title: 1});
{ "title" : "A Aclamação" }
{ "title" : "Aclamação de Dom Pedro I Imperador do Brasil no Campo de Santa Anna no Rio de Janeiro" }
{ "title" : "As fontes em forma de Stella" }
{ "title" : "Campo de Santana" }
{ "title" : "Casamento da Princesa Dona Maria Teresa" }
{ "title" : "Jardim da Praça da República" }
{ "title" : "Monumentos da Cidade do Rio de Janeiro" }
{ "title" : "Palacete da Praça da Aclamação" }
{ "title" : "Parques e Áreas Verdes" }
{ "title" : "Praça da República" }
{ "title" : "Praça do Curro" }
{ "title" : "Rua Detrás do Hospício" }
{ "title" : "Rua Senhor dos Passos" }
{ "title" : "Rua da Alfândega" }
{ "title" : "Rua dos Ciganos" }
>

Now see the same query executed replacing the field coordinates by geometry:

> db.pages.find(
...     {geometry:
...         {$geoWithin:
...             { $centerSphere: [ [  -43.1885, -22.9066 ] , 0.2/6371 ] }
...         }
...     },
...     {title: 1, _id: 0}
... ).sort( {title: 1});
{ "title" : "A Aclamação" }
{ "title" : "Aclamação de Dom Pedro I Imperador do Brasil no Campo de Santa Anna no Rio de Janeiro" }
{ "title" : "Campo de Santana" }
{ "title" : "Casamento da Princesa Dona Maria Teresa" }
{ "title" : "Jardim da Praça da República" }
{ "title" : "Palacete da Praça da Aclamação" }
{ "title" : "Praça da República" }
{ "title" : "Praça do Curro" }
>

The second query only returned the pages where the entire object is within the boundaries of the circle, not just one of its points.

5. Geospatial queries