如何在 MongoDB Java 中编写地理空间查询

Posted

技术标签:

【中文标题】如何在 MongoDB Java 中编写地理空间查询【英文标题】:How to write Geospatial query in MongoDB Java 【发布时间】:2016-02-05 11:33:06 【问题描述】:

我正在使用 Java 开发 MongoDB。在那里我有一个存储位置坐标的表格。我必须得到列表中最近的位置。我已经关注this site 并尝试过。

db.location.find( loc:  $near :  $geometry:  type: "Point",  coordinates: [80.23,13.1112] , $minDistance: 0, $maxDistance:1000    )

这很好用,但我对 Mongo Java 中的正确语法一无所知,我需要在 Java 代码中做同样的事情。

【问题讨论】:

【参考方案1】:

以下代码在 Java 中复制了上述 mongo shell 查询:

BasicDBObject criteria = new BasicDBObject("$near", new double[]  -80.23, 13.1112 );
criteria.put("$maxDistance", 1000);

BasicDBObject query = new BasicDBObject("loc", criteria);

List<DBObject> obj = getCollection("location").find(query).toArray()

【讨论】:

以上是关于如何在 MongoDB Java 中编写地理空间查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mongoDB 中存储地理空间信息

通过 GeoServer 在 MongoDB 中提供地理空间数据

java中地理空间字段的2dsphere索引的Spring mongodb注释......?

如何使用 C++ 在 MongoDB 中创建地理空间索引

如何使用 Go 驱动程序或 mgo/qmgo 在 MongoDB 中存储地理空间数据?

MongoDB中地理空间索引的内部机制