Как в MongoDB (mgo) вывести ближайшие документы с расстоянием до него?

Если я без расстояния получаю так:
err = c.Find(bson.M{
                            "location": bson.M{
                              "$nearSphere": bson.M{
                                "$geometry": bson.M{
                                  "type":        "Point",
                                  "coordinates": []float64{lat, long},
                                },
                                "$maxDistance": scope,
                              },
                            },
                          }).All(&places)


подскажите , как мне еще получить расстояние до каждого документа?
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
$geoNear агрегатор умеет такое
err = c.Pipe(bson.M{
                            "$geoNear": bson.M{
                                "spherical": "true",
                            	"distanceField": "distance",
                                "near": bson.M{
                                  "type":        "Point",
                                  "coordinates": []float64{lat, long},
                                },
                                "maxDistance": scope,                            
                              },
                          }).All(&places)

Расстояние будет в поле distance
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы