Có vẻ như bạn cần sử dụng định dạng GeoJSON nếu dữ liệu của bạn cũng ở định dạng GeoJSON, như dữ liệu của bạn. Nếu bạn sử dụng:
db.collectionname.find({
"location": {
$near: {
$geometry:
{ type: "Point", coordinates: [50.0, -0.1330] }, $maxDistance: 500
}
}
})
nó sẽ hoạt động. Tôi có thể sao chép lỗi của bạn bằng cách sử dụng định dạng lưu trữ GeoJSON cho trường, nhưng tài liệu gọi điểm kế thừa trong biểu thức truy vấn. Tôi nghĩ rằng tài liệu hơi không rõ ràng ở chỗ chúng đề xuất bạn có thể sử dụng cả GeoJSON và tọa độ kế thừa với chỉ mục 2dsphere 2dsphere
Tôi đang sử dụng 2.4.10, vì những gì nó đáng giá, vì đã có một số thay đổi lớn về không gian trong bản phát hành 2.4.