文档菜单
文档首页
/ / /
PyMongo
/ /

地理空间索引

本页内容

  • 概述
  • 示例数据
  • 创建地理空间索引

MongoDB支持使用2dsphere索引对地理坐标数据进行查询。使用2dsphere索引,您可以查询包含、相交和邻近的地理空间数据。有关查询地理空间数据的更多信息,请参阅地理空间查询.

要创建一个2dsphere索引,您必须指定一个只包含GeoJSON对象的字段。有关此类型的更多详细信息,请参阅MongoDB服务器手册中的GeoJSON对象指南。

本指南中的示例使用来自Atlas示例数据集sample_mflix.theaters集合。有关创建免费MongoDB Atlas集群并加载示例数据集的说明,请参阅使用PyMongo入门.

以下示例文档中的location.geo字段来自sample_mflix数据库中theaters集合,它是一个描述剧院坐标的GeoJSON Point对象。

{
"_id" : ObjectId("59a47286cfa9a3a73e51e75c"),
"theaterId" : 104,
"location" : {
"address" : {
"street1" : "5000 W 147th St",
"city" : "Hawthorne",
"state" : "CA",
"zipcode" : "90250"
},
"geo" : {
"type" : "Point",
"coordinates" : [
-118.36559,
33.897167
]
}
}
}

以下示例在 location.geo 字段上创建一个 2dsphere 索引

theaters.create_index(
[( "location.geo", "2dsphere" )]
)

MongoDB 还支持用于在欧几里得平面上计算距离和用于处理 MongoDB 2.2 及更早版本中使用的“旧坐标对”语法的 2d 索引。有关更多信息,请参阅 MongoDB 服务器手册中的地理空间查询指南

返回

文本