Mongodb spring mongo对geoJSOn for 2dsphere索引的支持

Mongodb spring mongo对geoJSOn for 2dsphere索引的支持,mongodb,spring-data-mongodb,Mongodb,Spring Data Mongodb,Mongo虽然提供了关于遗留坐标的2dsphere索引,但查询需要以geoJSON格式呈现给点/形状。例如,我已插入以下记录以解决收集问题 {“城市”:“第一”,“地理”:[13.45,23.46]} {“城市”:“第二”,“地理”:[13.45,20.46]} 然后,我使用以下命令添加了2dsphere索引,因为mongodb仍然允许在遗留坐标上使用2dsphere索引 db.address.ensureIndex({“geo”:“2dsphere”}) 然后,如果我使用遗留格式执行$ne

Mongo虽然提供了关于遗留坐标的2dsphere索引,但查询需要以geoJSON格式呈现给点/形状。例如,我已插入以下记录以解决收集问题

{“城市”:“第一”,“地理”:[13.45,23.46]}
{“城市”:“第二”,“地理”:[13.45,20.46]}
然后,我使用以下命令添加了2dsphere索引,因为mongodb仍然允许在遗留坐标上使用2dsphere索引

db.address.ensureIndex({“geo”:“2dsphere”})
然后,如果我使用遗留格式执行$near查询,但得到一个异常

>db.address.find({“geo”:{$near:{“x”:13.45,“y”:23.45}})
错误:{
“$err”:“无法分析查询(2dsphere):{$near:{x:13.45,y:23.45}”,
“代码”:16535
}
但若使用geoJSON格式执行相同的查询,那个么我将得到结果

>db.address.find({“geo”:{$near:{“type”:“Point”,坐标:[13.45,23.45]})
{“_id”:ObjectId(“537306B8AC1F134D9EFE89”),“城市”:“第一”,“地理”:[13.45,23.46]}
{u id:ObjectId(“537306c3b8ac1f134d9efe8a”),“城市”:“第二”,“地理”:[13.45,20.46]}

我的问题是,GeoConverters已将所有转换为传统格式。所以,很明显,如果我使用2dsphere索引,它们将不起作用。是否有geoJSON格式的转换。有什么解决办法吗?

目前spring data mongo不支持新的mongo(>2.4)2dsphere索引。关于Jira有一个公开的问题:

在链接中,您可以找到如何创建此类转换器示例的要点链接。您可以使用它,也可以克服这个限制,创建一个
@Query
,使用您希望spring数据mongo执行的查询

问候

阿瓦兹