$box
Nesta página
Definição
$box
Especifica um retângulo para uma query geoespacial
$geoWithin
para retornar documentos que estão dentro dos limites do retângulo, de acordo com seus dados de localização baseados em ponto. Quando utilizado com o operador$box
, o$geoWithin
retorna documentos com base em coordenadas de planilha e não executa queries para formas GeoJSON.Para utilizar o operador
$box
, você deve especificar os cantos inferior esquerdo e superior direito do retângulo em um objeto de array:{ <location field>: { $geoWithin: { $box: [ [ <bottom left coordinates> ], [ <upper right coordinates> ] ] } } } Importante
Se você utilizar longitude e latitude, especifique longitude primeiro.
Comportamento
A query calcula distâncias utilizando geometria plana (planar).
Os aplicativos podem utilizar o $box
sem ter um índice geoespacial. No entanto, os índices geoespaciais suportam queries muito mais rápidas do que os equivalentes não indexados.
Exemplo
A seguinte query de exemplo retorna todos os documentos que estão dentro da caixa com pontos em: [ 0 , 0 ]
, [ 0 , 100 ]
, [ 100 , 0 ]
e [ 100 , 100 ]
.
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )