Criar um índice de 2dsphere
Os índices 2dsphere suportam queries geoespaciais em uma esfera semelhante à Terra. Por exemplo, índices 2dsphere podem:
Determinar pontos dentro de uma área especificada.
Calcula a proximidade para um ponto especificado.
Retornar correspondências exatas em queries de coordenadas.
Para criar um índice 2dsphere, utilize o método db.collection.createIndex()
e especifique a string "2dsphere"
como o tipo de índice:
db.<collection>.createIndex( { <location field> : "2dsphere" } )
Os valores em <location field>
devem ser um dos seguintes:
Antes de começar
Crie uma coleção places
que contenha estes documentos:
db.places.insertMany( [ { loc: { type: "Point", coordinates: [ -73.97, 40.77 ] }, name: "Central Park", category : "Park" }, { loc: { type: "Point", coordinates: [ -73.88, 40.78 ] }, name: "La Guardia Airport", category: "Airport" }, { loc: { type: "Point", coordinates: [ -1.83, 51.18 ] }, name: "Stonehenge", category : "Monument" } ] )
Os valores no campo loc
são pontos GeoJSON.
Procedimento
A seguinte operação cria um índice dsphere 2no campo de localização loc
:
db.places.createIndex( { loc : "2dsphere" } )
Próximos passos
Após criar um índice dsphere do 2 , você pode utilizar o índice para queries geoespaciais. Para saber mais, consulte Como consultar um 2índice dsphere.