在MongoDB中,地理空间索引允许您根据地理位置对文档进行查询和聚合
locations
的集合,其中包含一个名为location
的字段,该字段存储GeoJSON对象:{
"_id": ObjectId("..."),
"name": "Example Location",
"location": {
"type": "Point",
"coordinates": [-73.935242, 40.73061]
}
}
createIndex()
方法创建地理空间索引。有两种类型的地理空间索引可供选择:2dsphere(用于球体表面的索引,适用于全球数据)和2d(用于平面表面的索引,适用于局部数据)。对于2dsphere索引,您可以使用以下命令:
db.locations.createIndex({ "location": "2dsphere" });
对于2d索引,您可以使用以下命令:
db.locations.createIndex({ "location": "2d" });
这将创建一个地理空间索引,使您能够执行各种地理空间查询,例如查找给定坐标附近的文档、计算两点之间的距离以及查询多边形内的文档等。
注意:在选择2dsphere还是2d索引时,请根据您的数据和应用需求进行选择。如果您处理的是全球数据,那么2dsphere索引是更好的选择。如果您处理的是局部数据(例如城市或区域),则2d索引可能更适合。