db.airports.find(
{
loc : {
$near : {
$geometry : {
type : "Point" ,
coordinates : [-73.965355,40.782865]
},
$maxDistance : 20000
}
},
type : "International"
},
{
name : 1,
code : 1,
_id : 0
}
);
BasicDBList geoCoord = new BasicDBList();
geoCoord.add(lng);
geoCoord.add(lat);
BasicDBObject geometry = new BasicDBObject("type", "Point");
geometry.append("coordinates", geoCoord);
BasicDBObject near = new BasicDBObject("$geometry", geometry);
BasicDBObject query = new BasicDBObject();
query.append("$maxDistance", distance);
query.append("$nearSphere", near);com.mongodb.CommandFailureException: { "serverUsed" : "127.0.0.1:27017" , "errmsg" : "exception: unknown top level operator: $maxDistance" , "code" : 2 , "ok" : 0.0}{
"$maxDistance" : distance, // :(
"$nearSphere" : {
"$geometry" : {
"type" : "Point",
"coordinates" : [lng, lat]
}
}
}BasicDBList geoCoord = new BasicDBList();
geoCoord.add(lng);
geoCoord.add(lat);
BasicDBObject geometry = new BasicDBObject("type", "Point");
geometry.append("coordinates", geoCoord);
BasicDBObject near = new BasicDBObject("$geometry", geometry);
BasicDBObject query = new BasicDBObject();
near.append("$maxDistance", distance); // CHANGED
query.append("$nearSphere", near);