文档菜单
文档首页
/
MongoDB 手册
/ / /

2dsphere 索引

本页内容

  • 用例
  • 入门
  • 详细信息
  • sparse 属性
  • 组合 2dsphere 索引
  • 了解更多

2dsphere 索引支持在类似地球的球体上进行地理空间查询。例如,2dsphere 索引可以

  • 确定指定区域内的点。

  • 计算与指定点的距离。

  • 在坐标查询中返回精确匹配。

索引字段的值必须是以下类型之一

  • GeoJSON 对象

  • 传统坐标对

    对于传统坐标对,2dsphere 索引将数据转换为 GeoJSON 点。

要创建 2dsphere 索引,指定字符串2dsphere 作为索引类型

db.<collection>.createIndex( { <location field> : "2dsphere" } )

注意

创建 2dsphere 索引时,第一个值,即经度,必须在 -180 和 180 之间,包括。第二个值,即纬度,必须在 -90 和 90 之间,包括。这些坐标在球体上“环绕”。例如,-179.9 和 +179.9 是近邻。

使用 2dsphere 索引查询和计算位于地球或另一个球面上的位置数据。例如

  • 一个食品配送应用程序使用 2dsphere 索引来支持附近的餐厅搜索。

  • 一个路线规划应用程序使用 2dsphere 索引来计算休息站之间的最短距离。

  • 一个城市规划者使用 2dsphere 索引来查找存在于城市范围内的公园。

要了解如何创建和查询 2dsphere 索引,请参阅

2dsphere索引始终是稀疏的,并且当作为复合索引的一部分创建时具有特殊行为。复合索引。

2dsphere索引始终是稀疏的。当创建2dsphere索引时,MongoDB忽略sparse选项。

如果现有或新插入的文档不包含2dsphere索引字段(或字段是null或空数组),MongoDB不会将文档条目添加到索引中。

  • 对于包含2dsphere索引键以及其他类型键的复合索引,只有2dsphere索引字段确定索引是否引用文档。

  • 复合2dsphere索引可以引用多个位置和非位置字段。相比之下,复合2d索引只能引用一个位置字段和一个其他字段。

返回

地理空间