查询mongodb中的地理空间数据通过shell脚本看起来很直观,但是,我试图在morphia(playmorphia)中复制一些代码。如何在morphia中复制这个js地理空间查询?
得到一定半径内的所有点,文件说:
> 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(做错事)。找()?有没有一种更优雅的方式来使用模型来做到这一点? Peak.find ..?谢谢!
谢谢你。我没有意识到它在utils import com.google.code.morphia.utils.IndexDirection; – zenoexo 2012-03-31 01:34:05
此前,我通过mongodb shell手动为该字段编制索引,这就是为什么它首先运行的原因。标记你的答案是正确的,因为它可以帮助他人。 – zenoexo 2012-03-31 13:51:08
[手册现在位于此处](https://github.com/mongodb/morphia/wiki/Query#geo-spatial) – nostromo 2013-09-19 01:23:43