Definición
$boxEspecifica un rectángulo para una query geoespacial
$geoWithinpara devolver los documentos que estén dentro de los límites del rectángulo, según sus datos de ubicación basados en puntos. Cuando se usa con el$boxoperador,$geoWithindevuelve documentos en función de coordenadas de cuadrícula y no query formas GeoJSON.Para usar el operador
$box, debe especificar las esquinas inferior izquierda y superior derecha del rectángulo en un objeto de arreglo:{ <location field>: { $geoWithin: { $box: [ [ <bottom left coordinates> ], [ <upper right coordinates> ] ] } } } Importante
Si usa longitud y latitud, debe especificar primero la longitud.
Comportamiento
La query calcula distancias utilizando geometría plana (plana).
Las aplicaciones pueden usar $box sin tener un índice geoespacial. Sin embargo, los índices geoespaciales permiten consultas mucho más rápidas que sus equivalentes no indexados.
Ejemplo
La siguiente query de ejemplo devuelve todos los documentos que se encuentran dentro de la caja que tiene puntos en: [ 0 , 0 ], [ 0 , 100 ], [ 100 , 0 ] y [ 100 , 100 ].
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )