我正在MongoDB中进行搜索,并且运行良好,但是当我想在Java中执行相同的查询时,却无法达到我想要的效果。
这是我在Mongo中的查询(正在运行)
db.DondeIr.find( {'places.log_lat': { $geoWithin: { $centerSphere: [ [ -99.1565997,19.4275985 ], 0.5/6371 ] } }},{_id: 0, 'places.$': 1})
这是Java中的查询。
BasicDBObject geometery = new BasicDBObject("$centerSphere", asList(
asList(-99.1565997, 19.4275985), 0.5 / 6371));
BasicDBObject operator = new BasicDBObject("$geoWithin", geometery);
BasicDBObject query = new BasicDBObject("places.log_lat", operator);
我认为这是因为我没有在Java中使用投影运算符“ $”,所以我不知道该怎么办。帮助将不胜感激。