El operador $box para $geoWithin solo admite documentos basados en coordenadas de cuadrícula y no admite GeoJSON formato de formas.
Dependiendo de la estructura de sus documentos y de cómo los esté consultando, esto probablemente se trate como coordenadas de cuadrícula, es decir, {geometry: [<long>, <lat>]}
Es posible que esto no haya funcionado para su documento de polígonos porque Polígonos GeoJSON
requiere un contenedor de matriz adicional. es decir, [[ [<long>, <lat>] ]]
invalidando el formato de coordenadas de cuadrícula.
Si sus documentos están en formato GeoJSON y desea seleccionar un área, puede utilizar $geometría en cambio.
db.places.find(
{
'geometry': {
$geoWithin: {
$geometry: {
type : "Polygon" ,
coordinates: [ [ [ 0, 0 ], [ 3, 6 ], [ 6, 1 ], [ 0, 0 ] ] ]
}
}
}
}
)
Vale la pena señalar que MongoDB Compass Actualmente, la visualización geoespacial (v1.6) aún no es compatible con GeoJSON.