我希望通过地理空间索引从 MongoDB 集合中获取文档列表。我已按 2dsphere 为集合编制索引
db.getCollection("Info").ensureIndex(new BasicDBObject("location", "2dsphere"), "geospatial");
Info 集合中的文档如下所示
{ "_id" : ObjectId("52631572fe38203a7388ebb5"), "location" : { "type" : "Point", "coordinates" : [ 144.6682361, -37.8978304 ] }
当我通过坐标 [ 144.6682361, -37.8978304 ] 查询 Info 集合时,返回的集合为零。
我正在使用 JAVA API 来执行操作。我的 JAVA 代码如下
DBCollection coll1=db.getCollection("Info");
BasicDBObject locQuery = new BasicDBObject();
locQuery.put("near", loc);
locQuery.append("maxDistance", 3000);
locCursor =coll1.find(locQuery);
System.out.println("LOCCURSOR"+locCursor.size());
locCursor.size() 总是返回 0。不知道我在哪里失踪。同时,我没有收到任何错误。它只给了我 0 个返回的文件。Mongo用户有什么想法吗?感谢您的时间和帮助。