Definição
$boxEspecifica um retângulo para uma querygeoespacial para retornar documentos que estão dentro dos limites do retângulo, de acordo com seus dados de localização baseados em ponto.
$geoWithinQuando utilizado com o$boxoperador, o retorna documentos$geoWithincom 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 ] ] } } } )