在MongoDB中,地理空間索引允許您根據(jù)地理位置對(duì)文檔進(jìn)行查詢(xún)和聚合
locations
的集合,其中包含一個(gè)名為location
的字段,該字段存儲(chǔ)GeoJSON對(duì)象:{
"_id": ObjectId("..."),
"name": "Example Location",
"location": {
"type": "Point",
"coordinates": [-73.935242, 40.73061]
}
}
createIndex()
方法創(chuàng)建地理空間索引。有兩種類(lèi)型的地理空間索引可供選擇:2dsphere(用于球體表面的索引,適用于全球數(shù)據(jù))和2d(用于平面表面的索引,適用于局部數(shù)據(jù))。對(duì)于2dsphere索引,您可以使用以下命令:
db.locations.createIndex({ "location": "2dsphere" });
對(duì)于2d索引,您可以使用以下命令:
db.locations.createIndex({ "location": "2d" });
這將創(chuàng)建一個(gè)地理空間索引,使您能夠執(zhí)行各種地理空間查詢(xún),例如查找給定坐標(biāo)附近的文檔、計(jì)算兩點(diǎn)之間的距離以及查詢(xún)多邊形內(nèi)的文檔等。
注意:在選擇2dsphere還是2d索引時(shí),請(qǐng)根據(jù)您的數(shù)據(jù)和應(yīng)用需求進(jìn)行選擇。如果您處理的是全球數(shù)據(jù),那么2dsphere索引是更好的選擇。如果您處理的是局部數(shù)據(jù)(例如城市或區(qū)域),則2d索引可能更適合。