Trước hết, vẫn chưa có một trình bao bọc tiện lợi để sử dụng trực tiếp geoNear với Mongoose (nếu bạn muốn đọc khoảng cách đã tính toán).
Nhưng vì bộ sưu tập Mongoose proxy tất cả các phương pháp thu thập từ trình điều khiển gốc MongoDB gốc bạn chỉ có thể sử dụng phương pháp geoNear của họ , mặc dù bạn phải từ bỏ một chút tiện lợi mà bạn có thể mong đợi từ Mongoose và theo phát hiện của tôi, việc xử lý lỗi hơi khác một chút.
Dù sao, đây là cách bạn có thể sử dụng API đã nói:
YourModel.collection.geoNear(lon, lat, {spherical: true, maxDistance: d}, function(err, docs) {
if (docs.results.length == 1) {
var distance = docs.results[0].dis;
var match = docs.results[0].obj;
}
});
Vui lòng tham khảo tài liệu để xử lý lỗi chính xác và cách tính khoảng cách .