toán tử $ box cho $ geoWithin chỉ hỗ trợ các tài liệu dựa trên tọa độ lưới và không hỗ trợ GeoJSON định dạng hình dạng.
Tùy thuộc vào cấu trúc tài liệu của bạn và cách bạn truy vấn chúng, đây có thể được coi là tọa độ lưới, tức là {geometry: [<long>, <lat>]}
Điều này có thể không hiệu quả với tài liệu đa giác của bạn vì Đa giác GeoJSON
yêu cầu một trình bao bọc mảng bổ sung. tức là [[ [<long>, <lat>] ]]
làm mất hiệu lực của định dạng lưới tọa độ.
Nếu tài liệu của bạn ở định dạng GeoJSON và bạn muốn chọn một khu vực, bạn có thể sử dụng $ hình học thay vì.
db.places.find(
{
'geometry': {
$geoWithin: {
$geometry: {
type : "Polygon" ,
coordinates: [ [ [ 0, 0 ], [ 3, 6 ], [ 6, 1 ], [ 0, 0 ] ] ]
}
}
}
}
)
Cần lưu ý rằng MongoDB La bàn trực quan hóa không gian địa lý hiện tại (v1.6) chưa hỗ trợ GeoJSON.