二维索引

二维索引支持对存储为 二维平面上的点的数据进行查询。2d 索引用于对旧坐标对的查询。

要创建二维索引,请将字符串指定2d为索引类型:

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

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

用例

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

  • 一款分析两件艺术作品之间视觉相似性的应用程序。
  • 可以对二维图形进行计算的计算器。
  • 一款计算二维地图上玩家之间距离的手机游戏。

开始使用

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

细节

支持的计算

2D索引支持在平面欧几里得空间上进行计算

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

复合二维索引

您可以创建引用两个字段的复合二维索引:

  • 第一个字段必须是位置字段。索引构造首先选择该字段的查询。
  • 第二个字段根据附加条件进一步过滤结果。

复合二维索引可以覆盖查询。

稀疏属性

2d 索引始终是稀疏的并忽略稀疏选项。如果文档缺少 2d 索引字段(或者该字段是null空数组),MongoDB 不会将该文档的条目添加到 2d 索引。对于插入,MongoDB 会插入文档,但不会添加到二维索引中。

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

了解更多

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""