Database
[{"collection":"location","count":3,"content":{"location":{"type":"enum","values":[{"coordinates":[53.23,67.12],"type":"Point"},{"coordinates":[54.23,67.12],"type":"Point"},{"coordinates":[51.23,64.12],"type":"Point"}]},"radius":{"type":"enum","values":[100,200,300]}},"indexes":[{"name":"ix","key":{"location":"2dsphere"}}]}]
Query
db.location.aggregate([{"$geoNear":{"near":{"type":"Point","coordinates":[/** your input here*/53.23,67.12]},"distanceField":"calculated_dist"}},{"$match":{$expr:{$lte:["$calculated_dist","$radius"]}}}])