Definición
$boxEspecifica un rectángulo para un Geoespacial
$geoWithinConsulta para devolver los documentos que se encuentran dentro de los límites del rectángulo, según sus datos de ubicación basados en puntos. Cuando se utiliza con el$boxoperador,$geoWithindevuelve documentos según las coordenadas de la cuadrícula y no query para 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 un índice geoespacial. Sin embargo, los índices geoespaciales admiten consultas mucho más rápidas que sus equivalentes sin indexar.
Ejemplo
La siguiente consulta de ejemplo devuelve todos los documentos que están dentro del cuadro que tiene puntos en: [ 0 , 0 ], [ 0 , 100 ], [ 100 , 0 ] y [ 100 , 100 ].
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } } } )