Chapter 6. Special Index and Collection Types
This chapter covers the special collections and index types MongoDB has available, including:
Capped collections for queue-like data
TTL indexes for caches
Full-text indexes for simple string searching
Geospatial indexes for 2D and spherical geometries
GridFS for storing large files
Geospatial Indexes
MongoDB has two types of geospatial indexes: 2dsphere and 2d. 2dsphere
indexes work with spherical geometries that model the surface of the earth
based on the WGS84 datum. This datum models the surface of the earth as an oblate
spheroid, meaning that there is some flattening at the poles. Distance
calculations using 2sphere indexes,
therefore, take the shape of the earth into account and provide a more
accurate treatment of distance between, for example, two cities, than do
2d indexes. Use 2d indexes for points stored on a
two-dimensional plane.
2dsphere allows you to specify
geometries for points, lines, and polygons in the GeoJSON format. A point is given by a two-element array, representing
[longitude,
latitude]:
{"name":"New York City","loc":{"type":"Point","coordinates":[50,2]}}
A line is given by an array of points:
{"name":"Hudson River","loc":{"type":"LineString","coordinates":[[0,1],[0,2],[1,2]]}}
A polygon is specified the same way a line is (an array of points),
but with a different "type":
{"name":"New England","loc":{"type":"Polygon","coordinates":[[0,1],[0,2],[1,2]]}}
The field that we are ...