1

Можно ли добавить критерии к NearQuery?spring data mongodb NearQuery добавить еще критерии

В настоящее время я делаю это:

public List<UserLocation> getUserNearLocation(Point p, double min, double max){ 
    NearQuery query = NearQuery.near(p).minDistance(new Distance(min, Metrics.KILOMETERS)).maxDistance(new Distance(max, Metrics.KILOMETERS)); 
    GeoResults<UserLocation> results = mongoTemplate.geoNear(query, UserLocation.class); 

    List<UserLocation> all = new ArrayList<UserLocation>(); 
    Iterator<GeoResult<UserLocation>> iter = results.iterator(); 
    while (iter.hasNext()){ 
     GeoResult<UserLocation> temp = iter.next(); 
     all.add(temp.getContent()); 
    } 

    return all;  
} 

Я хотел бы добавить еще критерии запроса, можно и как?

ответ

3

просто добавьте дополнительный запрос, как показано ниже.

NearQuery query = NearQuery.near(new Point(1, 2)).query(Query.query(Criteria.where("foo").is("bar"))); 
+0

Позвольте мне понять, это второй запрос, установленный в операциях? – Sanandrea

+0

это в основном то же самое, что и условие запроса 'geoNear', как описано здесь http://docs.mongodb.org/manual/reference/command/geoNear/#specify-a-query-condition –