现有的 Morphia 查询:
q.field("somefield").within(addressLatLng.getLat(), addressLatLng.getLng(), degrees);
这给出了一个 Mongo 查询,如
{ "geo" :
{ "$within" :
{ "$center" :
[ [ 38.8987037 , -81.52672820000001] , 4.341534008683068E7]
}}}
但这使得我们的应用程序在负载测试时变慢,执行大约需要 400 毫秒,而带有 mongo 操作$geoWithin
和$centerSphere
查询的查询执行速度要快得多,大约 9 毫秒。
这是 Mongo 查询:
{ geo:
{$geoWithin:
{ $centerSphere: [ [ 42.0494171, -80.0423151 ], 0.00758341759353 ]
}} } ---
我需要上述 Mongo Query 的 morphia 查询,我在 morphia 的文档中进行了搜索,但没有用于$geoWithin
and的 API $center
。