如何在mongoose和nodejs中使用$ geoNear

时间:2015-05-07 09:17:11

标签: node.js mongodb mongoose geospatial

我试图显示两个坐标之间的距离。下面的查询执行并按预期给出结果

 db.getCollection('distances').aggregate([
  { 
        "$geoNear": {
            "near": {
                 "type": "Point",
                 "locc": [83.307974, 17.716456]
             },
             "distanceField": "distance",

             "spherical": true

         }
    }
]);

我想从nodejs脚本执行此查询。我正在使用猫鼬。 我尝试了聚合功能,但我没有获得结果。有人可以指导我走正确的道路!

我试过了:

{{1}}

参考文献:

geoNear Stackoverflow question
geoNeam MongoDB

1 个答案:

答案 0 :(得分:3)

尝试将“locc”更改为“坐标”,并确保为包含坐标的集合创建了2d或2dsphere索引。

db.getCollection('distances').aggregate([
  { 
        "$geoNear": {
            "near": {
                 "type": "Point",
                 "coordinates": [83.307974, 17.716456]
             },
             "distanceField": "distance",

             "spherical": true

         }
    }
]);