2015-05-07 1 views
1

Я пытаюсь отобразить расстояние между двумя координатами. Ниже запроса выполняется и дает результат, как ожидалось

db.runCommand({ geoNear: "distances", 
      near: [ 83.307974, 17.716456], 
      spherical: true 
      } ); 

Я хотел бы выполнить этот запрос из сценария nodejs. Я использую мангуст. Я пробовал функцию агрегата, но я не смог получить результат. Может ли кто-то вести меня по правильному пути!

Я попытался это:

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

      "spherical": true 

     } 
    } 
]); 

Ссылки:

geoNear Stackoverflow question
geoNeam MongoDB

ответ

1

Попробуйте изменить "LOCC" на "координаты", а также убедитесь, что вы создали либо 2d или 2dsphere index для коллекции, содержащей координаты.

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

      "spherical": true 

     } 
    } 
]); 
+0

Этот код не работает. –

Смежные вопросы