既存の 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
。