2016-08-13 2 views
0

у меня есть следующие команды агрегации в моем весеннем:

NearQuery query = NearQuery.near(longitude,latitude).maxDistance(distance).spherical(true); 
agg = newAggregation(
       geoNear(query, "distance"), 
       unwind("rate"), 
       group("id") 
         .first("name").as("name") 
         .sum("$rate.general_rate").as("rate") 
         .count().as("num_rates")                       
     ); 

Но когда я сделал сопоставляются с моим классом, поле расстояния (от geoNear) не существует , Как я могу передать конвейеру расстояние, чтобы появиться с полями других групп?

ответ

0

Я сталкивался с такой же :)

Ответ на ваш вопрос ..

geoNear (запрос, "расстояние"),

выше линии будет искать свойство расстояние (тип Double в случае Point) в классе, который вы пытаетесь агрегировать результат.

Например., Выход "distance" : 420.82602810248557meters)

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