Definición
$boxEspecifica un rectángulo para un Geoespacial
$geoWithinquery para devolver documentos que estén 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 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 ] ] } } } )