是否有任何morphia查询来实现$ geoWithin和$ centerSphere mongo操作?

时间:2013-09-06 12:05:09

标签: mongodb morphia

现有的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。

1 个答案:

答案 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