Spring FindByLocationWithin的问题

Spring FindByLocationWithin的问题,spring,mongodb,Spring,Mongodb,我试图查询mongo存储库以返回指定地理圈内的数据。我正在使用以下代码: Page<Img> findByLocationWithin(Circle circle, Pageable pageable); 这意味着它没有使用$geoinsin或$centerSphere。如何解决这些问题?我对spring和Couchbase也有同样的问题。。。但问题不在这个问题上。。。因为Spring转换几何值中的距离。 在我的例子中,我也返回了null,但我的问题得到了解决,在模型类中,指定坐标

我试图查询mongo存储库以返回指定地理圈内的数据。我正在使用以下代码:

Page<Img> findByLocationWithin(Circle circle, Pageable pageable);

这意味着它没有使用
$geoinsin
$centerSphere
。如何解决这些问题?

我对
spring
Couchbase
也有同样的问题。。。但问题不在这个问题上。。。因为
Spring
转换几何值中的距离。 在我的例子中,我也返回了
null
,但我的问题得到了解决,在模型类中,指定坐标[x,y]的属性必须是库点类型
org.springframework.data.geo.Point

package com.webServices.rutas.model;

import org.springframework.data.couchbase.core.mapping.id.GeneratedValue;
import org.springframework.data.couchbase.core.mapping.id.GenerationStrategy;
import org.springframework.data.geo.Point;

import com.couchbase.client.java.repository.annotation.Field;
import com.couchbase.client.java.repository.annotation.Id;

public class Parada {
    @Id @GeneratedValue(strategy = GenerationStrategy.UNIQUE)
    private String id;
    @Field
    private String type;
    @Field
    private String nombre;
    @Field
    private String urlFoto;
    @Field
    private Point coordenada;
    public Parada(String nombre, String urlFoto, Point coordenada) {
        super();
        this.type = "parada";
        this.nombre = nombre;
        this.urlFoto = urlFoto;
        this.coordenada = coordenada;
    }
    public Parada() {
        super();
        this.type = "parada";
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getUrlFoto() {
        return urlFoto;
    }
    public void setUrlFoto(String urlFoto) {
        this.urlFoto = urlFoto;
    }
    public Point getCoordenada() {
        return coordenada;
    }
    public void setCoordenada(Point coordenada) {
        this.coordenada = coordenada;
    }
    @Override
    public String toString() {
        return "Parada [id=" + id + ", type=" + type + ", nombre=" + nombre + ", urlFoto=" + urlFoto + ", coordenada="
                + coordenada + "]";
    }
}
在职期间:

public Iterable<Parada> getParadasCercanasRadio(Punto punto){
        Point cuadro = new Point(-2.2,-80.9);
        Circle circle = new Circle(cuadro,new Distance(300000, Metrics.KILOMETERS));
        return paradaRepository.findByCoordenadaWithin(circle);
}
public Iterable getParadasCercanasRadio(Punto Punto){
cuadro点=新点(-2.2,-80.9);
圆圈=新圆圈(cuadro,新距离(300000,公制公里));
返回paradaRepository.findByCoordenadaWithin(圆圈);
}
在存储库中:

@Dimensional(designDocument = "paradas", spatialViewName = "paradas")
Iterable<Parada> findByCoordenadaWithin(Circle p);
@Dimensional(designDocument=“paradas”,spacealviewname=“paradas”)
Iterable findByCoordenadaWithin(圆圈p);
对不起,我的英语不好

public Iterable<Parada> getParadasCercanasRadio(Punto punto){
        Point cuadro = new Point(-2.2,-80.9);
        Circle circle = new Circle(cuadro,new Distance(300000, Metrics.KILOMETERS));
        return paradaRepository.findByCoordenadaWithin(circle);
}
@Dimensional(designDocument = "paradas", spatialViewName = "paradas")
Iterable<Parada> findByCoordenadaWithin(Circle p);