0
可能是一個非常基本的問題。我發送了一個URL(例如localhost:3000/services?lat=50&long=30
)。我想抓取網址的緯度和長度,並將其放置在Geospacing查詢中。目前的代碼不會產生屏幕上的任何東西,但它確實記錄正確的價值觀爲緯度和長:在MongoDB的地理空間和節點中使用URL參數
exports.findAll = function(req, res) {
var lat = req.query.lat;
var long = req.query.long;
console.log(lat + long);
db.collection('services', function(err, collection) {
collection.find({ loc: { $geoWithin: { $centerSphere: [ [ lat, long ] ,
100/3963.2 ] } } }).toArray(function(err, items) {
res.send(items);
});
});
};
所有參數實際上都是「字符串」,因此您需要在其中您希望使用數值的位置使用「parseFloat」(通常座標爲浮點數)。但是你也有錯誤的順序,因爲MongoDB中的地理空間數據需要在'['longitude','latitude']的順序中。這在每個操作員身上都有很好的記錄。即。 **重要**框中的['$ centerSphere'](https://docs.mongodb.org/manual/reference/operator/query/centerSphere/),只是在頁面的下方。 –