mongodbの地理空間データを照会することは、シェルスクリプトを通して十分に真っ直ぐに見えますが、私はmorphia(playmorphia)でいくつかのコードを複製しようとしています。このjs Geospatialクエリをmorphiaでどのように複製できますか?
> center = [50, 50]
> radius = 10
> db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}})
ここに私のピークモデルで私のコードです:
一定の半径内のすべてのポイントを取得し、ドキュメントが言う
Double[] loc = new Double(2);
// it's set to my [Longitude, Latitude]
List<Peak> peaks = play.modules.morphia.Model.ds().find(Peak.class).field("loc").near(loc[0], loc[1], 10/111.12).limit(50).asList();
それは動作しますが、私は(DSを使って、何か間違ったことをやっています).find()?モデルを使用してこれを行うもっとエレガントな方法がありますか? Peak.find ..?ありがとう!
感謝。私はそれがutils import com.google.code.morphia.utils.IndexDirectionにあったことを認識しませんでした。 – zenoexo
これまでmongodbシェルを使ってこのフィールドを手動で索引付けしていましたが、これが最初のところで働いていました。他人を助けることができるので、あなたの答えを正確にマークしてください。 – zenoexo
[マニュアルはここにあります](https://github.com/mongodb/morphia/wiki/Query#geo-spatial) – nostromo