现有的Morphia查询:
q.field("somefield").within(addressLatLng.getLat(), addressLatLng.getLng(), degrees);
提供像
这样的Mongo查询{ "geo" :
{ "$within" :
{ "$center" :
[ [ 38.8987037 , -81.52672820000001] , 4.341534008683068E7]
}}}
但这会使我们的应用程序在loadtest上运行缓慢,执行需要大约400ms,而使用mongo操作$geoWithin
和$centerSphere
查询的查询执行速度大约9ms。
这是Mongo查询:
{ geo:
{$geoWithin:
{ $centerSphere: [ [ 42.0494171, -80.0423151 ], 0.00758341759353 ]
}} } ---
我需要针对上述Mongo查询的morphia查询,我在morphia的文档中搜索过,但$geoWithin
和$center
没有此类API。
答案 0 :(得分:2)
对于关注此人的人,这是此请求中提出的问题:https://github.com/mongodb/morphia/issues/522
- 更新9/11:
我刚推出了一个修复程序:https://github.com/mongodb/morphia/issues/522
- 更新9/12
此修补程序版本0.104刚刚发布:https://github.com/mongodb/morphia/releases/tag/0.104