Aggregation example
$options = array(
"aggregate" => "SpecialShapes",
"pipeline" => array(
array('$geoNear' => array("near" => $point, "distanceField" => "proximity", "spherical" => True, "maxDistance" => $distance, "limit" => near_limit)),
array('$match' => $match_orgs),
array('$match' => $match_cat),
array('$project' => array("Radius" => 1, "extraInfo.description" => 1, "color" => 1, "_id" => 1, "name" => 1,"extraInfo.area" => 1, "extraInfo.category" => 1, "geo_value" => 1, "type" => 1, "icon" => 1, "loc" => 1, "orgname" => 1)))
);
// return $options;
$val = $this->mongo_db->command($options);