MongoCollection::deleteIndexElimina un índice de esta colección
&reftitle.description;
publicarrayMongoCollection::deleteIndexstring|arraykeys
Este método es identico a:
toIndexString($keys);
return $this->db->command(array(
"deleteIndexes" => $this->getName(),
"index" => $indexName,
));
}
?>
]]>
A cada índice se de da un nombre único cuando es creado. A menudo, es generado
por el controlador basándose en la/s clave/s del índice y en el orden/tipo, aunque también
se podrían especificar nombres personalizados con la opción "name" de
MongoCollection::createIndex).
Desafortunadamente, MongoCollection::deleteIndex no puede
eliminar índices con nombres personalizados por razones de retrocompatibilidada. Cuando
se proporciona un argumento de tipo string, se asume que sea el nombre de campo único de
un índice ascendente (p.ej., el nombre "x_1" sería utilizado para el
argumento "x"). Si se proporciona un array u objeto, se generará
un nombre de índice tal como si dicho argumento fuera pasado a
MongoCollection::createIndex.
Para poder borrar un índice con nombre personalizado con el controlador de PHP, se
debe usar el comando de base de datos deleteIndexes. Por ejemplo,
un índice llamado "myIndex" podría borrarse con el controlador de PHP ejecutando:
command(array(
"deleteIndexes" => $collection->getName(),
"index" => "myIndex",
));
?>
]]>
Para determinar el nombre de un índice con el controlador de PHP, se puede consultar la
colección system.indexes de una base de datos y buscar por el campo
"name" cada resultado. El campo "ns"
indicará la colección a la que pertenece cada índice.
&reftitle.parameters;
keys
Un array que tiene como claves los campos de índice. Para cada campo, el
valor es la dirección del índice o el
tipo de índice.
Si se especifica la dirección, se ha de indicar 1 para ascendente o
-1 para descendente.
Si se proporciona un string, se asume que sea el nombre único de campo de un
índece ascendente.
&reftitle.returnvalues;
Devuelve la respuesta de la base de datos.
&reftitle.examples;
Ejemplo de MongoCollection::deleteIndex
Este ejemplo ilustra cómo pasar tanto un stringo como un array a la función.
example->indices;
// crear y eliminar un único índice
$c->createIndex(array("i"=>1));
$c->deleteIndex("i");
// crear y eliminar un índice multiclave
$c->ensureIndex(array("j" => 1, "k" => 1));
$c->deleteIndex(array("j" => 1, "k" => 1));
?>
]]>
&reftitle.seealso;
MongoCollection::createIndexMongoCollection::deleteIndexesMongoCollection::toIndexString
La documentación sobre
índices y
tipos de índcies
de MongoDB.