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 ] ] } } } )