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

2D 索引

本页内容

  • 用例
  • 开始使用
  • 详细信息
  • 支持的运算
  • 复合 2D 索引
  • sparse 属性
  • 了解更多

2D 索引支持对以二维平面上的点形式存储的数据进行查询。二维平面上的二维索引旨在用于查询旧版坐标对

要创建一个 2D 索引,指定字符串2d 作为索引类型

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

您不能使用 2D 索引对 GeoJSON 对象进行查询。要启用对 GeoJSON 对象的查询,请使用 2dsphere 索引

注意

在创建2D 索引时,第一个值(经度)必须在 -180 和 180 之间,包括这两个值。第二个值(纬度)必须在 -90 和 90 之间,包括这两个值。但是,可以通过 2D 索引上的 选项 覆盖这些默认限制。与 2dsphere 索引 坐标不同,2D 索引 值不会“绕球体”。

使用 2D 索引对表示在二维平面内的数据进行查询和计算。例如

  • 分析两件艺术品视觉相似性的应用程序。

  • 能够对二维图表进行计算的计算器。

  • 在二维地图上计算玩家之间距离的移动游戏。

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

二维索引支持在平面,欧几里得平面上的计算。

对于球面几何计算,将您的数据存储为GeoJSON对象,并使用2dsphere索引以支持地理空间查询。

您可以创建复合2D索引,该索引引用两个字段

  • 第一个字段必须是位置字段。索引构建的查询首先选择此字段。

  • 第二个字段基于其他标准进一步过滤结果。

复合2D索引可以覆盖查询。

2D索引始终是稀疏的,忽略稀疏选项。如果一个文档缺少2D索引字段(或该字段是null或空数组),MongoDB不会在该2D索引中为该文档添加条目。对于插入操作,MongoDB将插入文档但不添加到2D索引中。

对于包含2D索引键和其他类型键的复合索引,只有2D索引字段决定了索引是否引用文档。

返回

版本

© . This site is unofficial and not affiliated with MongoDB, Inc.