0

现有的 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 的文档中进行了搜索,但没有用于$geoWithinand的 API $center

4

1 回答 1

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

于 2013-09-06T13:29:20.770 回答