O operador $box para $geoWithin suporta apenas documentos baseados em coordenadas de grade e não suporta GeoJSON formato de formas.
Dependendo da estrutura de seus documentos e de como você os está consultando, isso provavelmente é tratado como coordenadas de grade, ou seja,
{geometry: [<long>, <lat>]}
Isso pode não ter funcionado para seu documento de polígonos porque Polígonos GeoJSON
requerem um wrapper de array extra. ou seja, [[ [<long>, <lat>] ]]
invalidando o formato de coordenadas da grade. Se seus documentos estiverem no formato GeoJSON e você quiser selecionar uma área, poderá utilizar $geometry em vez de.
db.places.find(
{
'geometry': {
$geoWithin: {
$geometry: {
type : "Polygon" ,
coordinates: [ [ [ 0, 0 ], [ 3, 6 ], [ 6, 1 ], [ 0, 0 ] ] ]
}
}
}
}
)
Vale a pena notar que MongoDB Compass a visualização geoespacial atualmente (v1.6) ainda não suporta GeoJSON.