/** * Return an array of stored tags * * @return array array of stored tags (string) */ public function getTags() { $keys = array(); $map = new MongoCode('function() { for ( var key in this.tags) { emit(this.tags[key], null); } }'); $reduce = new MongoCode('function(key, tmp) { return null; }'); $result = $this->_database->command(array("mapreduce" => $this->_options['collection'], "map" => $map, "reduce" => $reduce, "out" => array("inline" => true))); foreach ($result['results'] as $item) { $keys[] = $item['_id']; } return $keys; }