Den här presentationen från Greg Studer (10gen) diskuterar de geospatiala indexen i detalj:Geospatial Indexering med MongoDB .
Den geospatiala standardimplementeringen som vid MongoDB 2.2 använder en 2-D GeoHash tillvägagångssätt, med varierande bitar av precision:
By default, precision is set to 26 bits which is equivalent to approximately
2 feet given (longitude, latitude) location values and default (-180, 180)
bounds.
GeoHash-metoden har kantfall där vissa punkter kan vara rumsligt nära men har olika hash. MongoDB inkluderar också ett Geospatial Haystack Index som är specifikt inställd för "nära" lång/lat sökningar i små regioner med ytterligare ett indexerat kriterium (till exempel:"hitta alla restauranger inom 40 km med namnet "foo").
En annan intressant presentation från Nicholas Knize (Thermopylae) kontrasterar den nuvarande B-tree / GeoHash-metoden med R- träd . Om du hoppar vidare till bild 8 finns det en visuell förklaring som kan vara till hjälp:RTree Spatial Indexing med MongoDB - MongoDC .