我的MEAN堆栈应用程序正在根据lon / lat坐标请求用户数据。我目前通过POST从angularjs服务发送坐标到这个expressjs路由和处理程序:
getUsers = function(req, res) {
var lonlat = req.body;
// 2D spatial query
return UserModelRef.find({'location': { $near: lonlat }}, function (err, data) {
...
}
app.post('/user', getUsers);
这有效,但我更喜欢按照这些方式进行GET:
getUsers = function(req, res) {
var lonlat = req.params.location;
// 2D spatial query
return UserModelRef.find({'location': { $near: lonlat }}, function (err, data) {
...
}
app.get('/user/:location', getUsers);
但是这个请求(http.get /user/-73.6398,40.7469)会导致Mongo错误,因为$ near运算符需要一个对象。有没有办法让处理程序将坐标转换为$ near可以使用的对象?
我的目标是像对待任何其他GET路线参数一样对待2D坐标对。