$box-operatören för $geoWithin stöder endast dokument baserade på rutnätskoordinater och stöder inte GeoJSON former format.
Beroende på din dokumentstruktur och hur du frågar efter dem, behandlas detta förmodligen som rutnätskoordinater, dvs. {geometry: [<long>, <lat>]}
Detta kanske inte fungerade för ditt polygondokument eftersom GeoJSON-polygoner
kräver ett extra array-omslag. dvs [[ [<long>, <lat>] ]]
ogiltigförklarar rutnätskoordinatformatet.
Om dina dokument är i GeoJSON-format och du vill välja ett område kan du använda $geometry istället.
db.places.find(
{
'geometry': {
$geoWithin: {
$geometry: {
type : "Polygon" ,
coordinates: [ [ [ 0, 0 ], [ 3, 6 ], [ 6, 1 ], [ 0, 0 ] ] ]
}
}
}
}
)
Värt att notera att MongoDB Compass geospatial visualisering för närvarande (v1.6) stöder inte GeoJSON ännu.