在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索引可能更適合。