我可以在nodejs REST端点上使用lat / long对吗?

时间:2016-01-06 13:56:51

标签: angularjs node.js mongodb express

我的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坐标对。

0 个答案:

没有答案