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 のドキュメントを検索しましたが、 および のような API はありませ$geoWithin$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 に答える