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 ...
Get MongoDB: The Definitive Guide, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.